- if (fl) {
- if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_NOPFID))
- GOTO(out_tx, rc);
-
- info->fti_buf.lb_buf = ff;
- info->fti_buf.lb_len = sizeof(*ff);
- rc = dt_xattr_set(env, dt_obj, &info->fti_buf, XATTR_NAME_FID,
- 0, th);
- if (rc == 0)
- filter_fid_le_to_cpu(&ofd_obj->ofo_ff, ff, sizeof(*ff));
- }
-
- GOTO(out_tx, rc);
-
+ if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_NOPFID))
+ GOTO(out_unlock, rc);
+ if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_UNMATCHED_PAIR1))
+ ff->ff_parent.f_oid = cpu_to_le32(1UL << 31);
+ else if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_UNMATCHED_PAIR2))
+ le32_add_cpu(&ff->ff_parent.f_oid, -1);
+
+ info->fti_buf.lb_buf = ff;
+ info->fti_buf.lb_len = sizeof(*ff);
+ rc = dt_xattr_set(env, dt_obj, &info->fti_buf, XATTR_NAME_FID, 0, th);
+ if (rc == 0)
+ filter_fid_le_to_cpu(&ofd_obj->ofo_ff, ff, sizeof(*ff));
+
+ GOTO(out_unlock, rc);
+
+out_unlock:
+ ofd_read_unlock(env, ofd_obj);