Whamcloud - gitweb
LU-3593 lfsck: repair inconsistent layout EA
[fs/lustre-release.git] / lustre / lod / lod_lov.c
index 5ae4a43..a8b738b 100644 (file)
@@ -536,6 +536,8 @@ int lod_generate_and_set_lovea(const struct lu_env *env,
        lmm->lmm_magic = cpu_to_le32(magic);
        lmm->lmm_pattern = cpu_to_le32(lo->ldo_pattern);
        fid_to_lmm_oi(fid, &lmm->lmm_oi);
+       if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_BAD_LMMOI))
+               lmm->lmm_oi.oi.oi_id++;
        lmm_oi_cpu_to_le(&lmm->lmm_oi, &lmm->lmm_oi);
        lmm->lmm_stripe_size = cpu_to_le32(lo->ldo_stripe_size);
        lmm->lmm_stripe_count = cpu_to_le16(lo->ldo_stripenr);
@@ -557,6 +559,7 @@ int lod_generate_and_set_lovea(const struct lu_env *env,
                const struct lu_fid     *fid;
                struct lod_device       *lod;
                __u32                   index;
+               int                     type    = LU_SEQ_RANGE_OST;
 
                lod = lu2lod_dev(lo->ldo_obj.do_lu.lo_dev);
                LASSERT(lo->ldo_stripe[i]);
@@ -567,7 +570,7 @@ int lod_generate_and_set_lovea(const struct lu_env *env,
 
                ostid_cpu_to_le(&info->lti_ostid, &objs[i].l_ost_oi);
                objs[i].l_ost_gen    = cpu_to_le32(0);
-               rc = lod_fld_lookup(env, lod, fid, &index, LU_SEQ_RANGE_OST);
+               rc = lod_fld_lookup(env, lod, fid, &index, &type);
                if (rc < 0) {
                        CERROR("%s: Can not locate "DFID": rc = %d\n",
                               lod2obd(lod)->obd_name, PFID(fid), rc);