Whamcloud - gitweb
LU-5519 lfsck: repair bad name hash for striped directory
[fs/lustre-release.git] / lustre / lmv / lmv_obd.c
index fd78bd2..b6a40ae 100644 (file)
@@ -1706,9 +1706,14 @@ lmv_locate_target_for_name(struct lmv_obd *lmv, struct lmv_stripe_md *lsm,
        struct lmv_tgt_desc     *tgt;
        const struct lmv_oinfo  *oinfo;
 
-       oinfo = lsm_name_to_stripe_info(lsm, name, namelen);
-       if (IS_ERR(oinfo))
-               RETURN(ERR_CAST(oinfo));
+       if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_BAD_NAME_HASH)) {
+               oinfo = &lsm->lsm_md_oinfo[cfs_fail_val];
+       } else {
+               oinfo = lsm_name_to_stripe_info(lsm, name, namelen);
+               if (IS_ERR(oinfo))
+                       RETURN(ERR_CAST(oinfo));
+       }
+
        *fid = oinfo->lmo_fid;
        *mds = oinfo->lmo_mds;
        tgt = lmv_get_target(lmv, *mds, NULL);