Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.6.0
-
3
-
14373
Description
This would be addressed by Vitaly's http://review.whamcloud.com/#/c/10484/
static int mdt_rename_sanity(struct mdt_thread_info *info, const struct lu_fid *dir_fid, const struct lu_fid *fid) { struct mdt_object *dst; struct lu_fid dst_fid = *dir_fid; int rc = 0; ENTRY; /* If the source and target are in the same directory, they can not * be parent/child relationship, so subdir check is not needed */ if (lu_fid_eq(dir_fid, fid)) return 0; do { LASSERT(fid_is_sane(&dst_fid)); dst = mdt_object_find(info->mti_env, info->mti_mdt, &dst_fid); if (!IS_ERR(dst)) { /* XXX: this object might not be protected by LDLM lock * here, (see mdt_rename_parents_lock), but LOHA_EXISTS * will not change once it is being set, but LFSCK might * change this later.(LU-5069) */ if (!mdt_object_exists(dst)) RETURN(-ESTALE);