Whamcloud - gitweb
LU-2915 lfsck: LFSCK 1.5 technical debts (3)
[fs/lustre-release.git] / lustre / obdclass / linkea.c
index 8c580f0..8fd9076 100644 (file)
@@ -145,6 +145,10 @@ void linkea_del_buf(struct linkea_data *ldata, const struct lu_name *lname)
                (char *)ldata->ld_lee);
        CDEBUG(D_INODE, "Old link_ea name '%.*s' is removed\n",
               lname->ln_namelen, lname->ln_name);
                (char *)ldata->ld_lee);
        CDEBUG(D_INODE, "Old link_ea name '%.*s' is removed\n",
               lname->ln_namelen, lname->ln_name);
+
+       if ((char *)ldata->ld_lee >= ((char *)ldata->ld_leh +
+                                     ldata->ld_leh->leh_len))
+               ldata->ld_lee = NULL;
 }
 EXPORT_SYMBOL(linkea_del_buf);
 
 }
 EXPORT_SYMBOL(linkea_del_buf);
 
@@ -187,6 +191,7 @@ int linkea_links_find(struct linkea_data *ldata, const struct lu_name *lname,
                CDEBUG(D_INODE, "Old link_ea name '%.*s' not found\n",
                       lname->ln_namelen, lname->ln_name);
                ldata->ld_lee = NULL;
                CDEBUG(D_INODE, "Old link_ea name '%.*s' not found\n",
                       lname->ln_namelen, lname->ln_name);
                ldata->ld_lee = NULL;
+               ldata->ld_reclen = 0;
                return -ENOENT;
        }
        return 0;
                return -ENOENT;
        }
        return 0;