/* If an up2date copy exists in the backend, add dirty flag */
if ((ma->ma_valid & MA_HSM) && (ma->ma_hsm.mh_flags & HS_EXISTS)
&& !(ma->ma_hsm.mh_flags & (HS_DIRTY|HS_RELEASED))) {
- struct mdt_lock_handle *lh = &info->mti_lh[MDT_LH_CHILD];
-
ma->ma_hsm.mh_flags |= HS_DIRTY;
- mdt_lock_reg_init(lh, LCK_PW);
- rc = mdt_object_lock(info, mo, lh, MDS_INODELOCK_XATTR);
- if (rc != 0)
- RETURN(rc);
-
rc = mdt_hsm_attr_set(info, mo, &ma->ma_hsm);
if (rc)
CERROR("file attribute change error for "DFID": %d\n",
PFID(mdt_object_fid(mo)), rc);
- mdt_object_unlock(info, mo, lh, rc);
}
RETURN(rc);