+
+ lmv_buf.lb_buf = info->mti_xattr_buf;
+ lmv_buf.lb_len = sizeof(info->mti_xattr_buf);
+
+ /* Check if it is slave stripes */
+ rc = mo_xattr_get(info->mti_env, mdt_object_child(mdt_obj),
+ &lmv_buf, XATTR_NAME_LMV);
+ if (rc > 0) {
+ union lmv_mds_md *lmm = lmv_buf.lb_buf;
+
+ /* For slave stripes, get its master */
+ if (le32_to_cpu(lmm->lmv_magic) == LMV_MAGIC_STRIPE) {
+ struct lmv_mds_md_v1 *lmm1 = &lmm->lmv_md_v1;
+
+ fid_le_to_cpu(tmpfid, &lmm1->lmv_master_fid);
+ if (!fid_is_sane(tmpfid)) {
+ mdt_object_put(info->mti_env, mdt_obj);
+ GOTO(out, rc = -EINVAL);
+ }
+ mdt_object_put(info->mti_env, mdt_obj);
+ pli->pli_fids[pli->pli_fidcount] = *tmpfid;
+ continue;
+ }
+ }
+