From: shaver Date: Thu, 20 Feb 2003 08:59:38 +0000 (+0000) Subject: Reconstruct replies for open. Lightly tested (successful open case). X-Git-Tag: v1_7_110~2^11~181 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=6df9eae44148b36a674aad79dbfd7c8883c5fb56;p=fs%2Flustre-release.git Reconstruct replies for open. Lightly tested (successful open case). --- diff --git a/lustre/mds/mds_open.c b/lustre/mds/mds_open.c index c8c655e..195c16a 100644 --- a/lustre/mds/mds_open.c +++ b/lustre/mds/mds_open.c @@ -186,6 +186,17 @@ int mds_open(struct mds_update_record *rec, int offset, int rc = 0, parent_mode, child_mode = LCK_PR, lock_flags, created = 0; ENTRY; + /* XXX macroize with reint_create, etc. */ + if (lustre_msg_get_flags(req->rq_reqmsg) & MSG_RESENT) { + struct mds_client_data *mcd = + req->rq_export->exp_mds_data.med_mcd; + if (mcd->mcd_last_xid == req->rq_xid) { + reconstruct_open(rec, req); + RETURN(0); + } + DEBUG_REQ(D_HA, req, "no reply for resent request"); + } + med = &req->rq_export->exp_mds_data; rep->lock_policy_res1 |= IT_OPEN_LOOKUP; if (OBD_FAIL_CHECK(OBD_FAIL_MDS_OPEN_PACK)) {