X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_reint.c;h=1545724ca20dcad7f55e70e789dfa033c0cec292;hp=b2d97f5dd9bd9a5752d2816fe4ba4a948c14f899;hb=a35113b690e39dcd39e126efc9085b3bc160b4ff;hpb=aed82035c0d194347f5cab17ebd48f355c379b1b diff --git a/lustre/mdt/mdt_reint.c b/lustre/mdt/mdt_reint.c index b2d97f5..1545724 100644 --- a/lustre/mdt/mdt_reint.c +++ b/lustre/mdt/mdt_reint.c @@ -936,8 +936,9 @@ static int mdt_reint_link(struct mdt_thread_info *info, if (mdt_object_remote(ms)) { mdt_object_put(info->mti_env, ms); - CERROR("Target directory "DFID" is on another MDT\n", - PFID(rr->rr_fid1)); + CERROR("%s: source inode "DFID" on remote MDT from "DFID"\n", + mdt_obd_name(info->mti_mdt), PFID(rr->rr_fid1), + PFID(rr->rr_fid2)); GOTO(out_unlock_parent, rc = -EXDEV); } @@ -964,6 +965,11 @@ static int mdt_reint_link(struct mdt_thread_info *info, GOTO(out_unlock_child, rc); /* save version of file name for replay, it must be ENOENT here */ if (!req_is_replay(mdt_info_req(info))) { + if (rc != -ENOENT) { + CDEBUG(D_INFO, "link target %.*s existed!\n", + rr->rr_namelen, (char *)rr->rr_name); + GOTO(out_unlock_child, rc = -EEXIST); + } info->mti_ver[2] = ENOENT_VERSION; mdt_version_save(mdt_info_req(info), info->mti_ver[2], 2); }