else
ma->ma_attr_flags &= ~MDS_HSM_RELEASE;
+ if (rec->sa_bias & MDS_CLOSE_LAYOUT_SWAP)
+ ma->ma_attr_flags |= MDS_CLOSE_LAYOUT_SWAP;
+ else
+ ma->ma_attr_flags &= ~MDS_CLOSE_LAYOUT_SWAP;
+
RETURN(0);
}
RETURN(rc);
}
-static int mdt_hsm_release_unpack(struct mdt_thread_info *info)
+static int mdt_intent_close_unpack(struct mdt_thread_info *info)
{
struct md_attr *ma = &info->mti_attr;
- struct req_capsule *pill = info->mti_pill;
+ struct req_capsule *pill = info->mti_pill;
ENTRY;
- if (!(ma->ma_attr_flags & MDS_HSM_RELEASE))
+ if (!(ma->ma_attr_flags & (MDS_HSM_RELEASE | MDS_CLOSE_LAYOUT_SWAP)))
RETURN(0);
- req_capsule_extend(pill, &RQF_MDS_RELEASE_CLOSE);
+ req_capsule_extend(pill, &RQF_MDS_INTENT_CLOSE);
if (!(req_capsule_has_field(pill, &RMF_CLOSE_DATA, RCL_CLIENT) &&
req_capsule_field_present(pill, &RMF_CLOSE_DATA, RCL_CLIENT)))
if (rc)
RETURN(rc);
- rc = mdt_hsm_release_unpack(info);
+ rc = mdt_intent_close_unpack(info);
if (rc)
RETURN(rc);