Whamcloud - gitweb
LU-2915 lfsck: LFSCK 1.5 technical debts (3)
[fs/lustre-release.git] / lustre / mdd / mdd_dir.c
index 398f146..9f3c333 100644 (file)
@@ -876,6 +876,9 @@ static int __mdd_links_add(const struct lu_env *env,
                linkea_add_buf(ldata, lname, tfid);
        }
 
+       if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_LINKEA_MORE2))
+               linkea_add_buf(ldata, lname, pfid);
+
        return linkea_add_buf(ldata, lname, pfid);
 }
 
@@ -919,9 +922,12 @@ static int mdd_linkea_prepare(const struct lu_env *env,
 
        LASSERT(oldpfid != NULL || newpfid != NULL);
 
-       if (mdd_obj->mod_flags & DEAD_OBJ)
+       if (mdd_obj->mod_flags & DEAD_OBJ) {
+               /* Prevent linkea to be updated which is NOT necessary. */
+               ldata->ld_reclen = 0;
                /* No more links, don't bother */
                RETURN(0);
+       }
 
        if (oldpfid != NULL) {
                rc = __mdd_links_del(env, mdd_obj, ldata, oldlname, oldpfid);
@@ -973,7 +979,7 @@ int mdd_links_rename(const struct lu_env *env,
                        GOTO(out, rc);
        }
 
-       if (ldata->ld_lee != NULL)
+       if (ldata->ld_reclen != 0)
                rc = mdd_links_write(env, mdd_obj, ldata, handle);
        EXIT;
 out: