diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 12cf867dea243c625478a8cfd01369c567eefd21..fdc1b37a87d1b4649bd3a014d69e6c1fdd0d614e 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -1489,6 +1489,11 @@ static int ptlrpc_replay_interpret(struct ptlrpc_request *req, unsigned long flags; atomic_dec(&imp->imp_replay_inflight); + + if (!req->rq_replied) { + CERROR("request replay timed out, restarting recovery\n"); + GOTO(out, rc = -ETIMEDOUT); + } #if SWAB_PARANOIA /* Clear reply swab mask; this is a new reply in sender's byte order */