X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_recovery.c;h=9102eaa99431eccf227c6e82ac98ece6a1c07318;hp=a936f97d28ee399ab95a5c6132834871d8fa07e1;hb=6125dec0a2b07822ef8149ff49c02d95df997668;hpb=8421d161cc0f76ca4d635b8f9e6ebb1b5e7b9b47 diff --git a/lustre/mdt/mdt_recovery.c b/lustre/mdt/mdt_recovery.c index a936f97..9102eaa 100644 --- a/lustre/mdt/mdt_recovery.c +++ b/lustre/mdt/mdt_recovery.c @@ -739,14 +739,18 @@ static void mdt_reconstruct_create(struct mdt_thread_info *mti, mti->mti_attr.ma_need = MA_INODE; mti->mti_attr.ma_valid = 0; rc = mdt_attr_get_complex(mti, child, &mti->mti_attr); - if (rc == -EREMOTE) { - /* object was created on remote server */ - req->rq_status = rc; - body->valid |= OBD_MD_MDS; - } - mdt_pack_attr2body(mti, body, &mti->mti_attr.ma_attr, - mdt_object_fid(child)); - mdt_object_put(mti->mti_env, child); + if (rc == -EREMOTE) { + /* object was created on remote server */ + if (!mdt_is_dne_client(exp)) + /* Return -EIO for old client */ + rc = -EIO; + + req->rq_status = rc; + body->valid |= OBD_MD_MDS; + } + mdt_pack_attr2body(mti, body, &mti->mti_attr.ma_attr, + mdt_object_fid(child)); + mdt_object_put(mti->mti_env, child); } static void mdt_reconstruct_setattr(struct mdt_thread_info *mti,