diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index fe9f6277f8286b7d53e7a2271ca69a4c65a70021..8540c9ff405a6307f776a2e867e7cdf9ab847f14 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -481,9 +481,6 @@ static int after_reply(struct ptlrpc_request *req) RETURN(-EPROTO); } - /* Store transno in reqmsg for replay. */ - req->rq_reqmsg->transno = req->rq_transno = req->rq_repmsg->transno; - rc = ptlrpc_check_status(req); /* Either we've been evicted, or the server has failed for @@ -500,6 +497,9 @@ static int after_reply(struct ptlrpc_request *req) RETURN(rc); } + /* Store transno in reqmsg for replay. */ + req->rq_reqmsg->transno = req->rq_transno = req->rq_repmsg->transno; + if (req->rq_import->imp_replayable) { spin_lock_irqsave(&imp->imp_lock, flags); if (req->rq_replay || req->rq_transno != 0)