X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmdd%2Fmdd_dir.c;h=9f3c333736c55f693c0adc5251728ff9918242e0;hb=3e37d73b011ac1203c8cdd9f696652812bde5d2e;hp=398f146e4b2600fabf0eaab3084fc9d6b14e302d;hpb=2f41b688058532248e69ff0194c27616f4dfb6d5;p=fs%2Flustre-release.git diff --git a/lustre/mdd/mdd_dir.c b/lustre/mdd/mdd_dir.c index 398f146..9f3c333 100644 --- a/lustre/mdd/mdd_dir.c +++ b/lustre/mdd/mdd_dir.c @@ -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: