From 3fb3492697fd4356934675870cd1dad07485b0dc Mon Sep 17 00:00:00 2001 From: green Date: Wed, 4 Nov 2009 04:17:26 +0000 Subject: [PATCH] b=19128 r=adilger,tappro,rread Properly add a request to the start of a replay list if there are no requests with smaller tid in the list already. --- lustre/ChangeLog | 7 +++++++ lustre/ptlrpc/client.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 753c0c1..78be1f8 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -2297,6 +2297,13 @@ Bugzilla : 20463 Descriptoin: getstripe doesn't report stripe count = -1 sanely Details : Detect and print out the 'stripe count = -1' case properly. +Severity : normal +Bugzilla : 19128 +Description: Out or order replies might be lost on replay +Details : In ptlrpc_retain_replayable_request if we cannot find retained + request with tid smaller then one currently being added, add it + to the start, not end of the list. + -------------------------------------------------------------------------------- 2007-08-10 Cluster File Systems, Inc. diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 73864f3..7e6d90a 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -2135,7 +2135,7 @@ void ptlrpc_retain_replayable_request(struct ptlrpc_request *req, return; } - list_add_tail(&req->rq_replay_list, &imp->imp_replay_list); + list_add(&req->rq_replay_list, &imp->imp_replay_list); } int ptlrpc_queue_wait(struct ptlrpc_request *req) -- 1.8.3.1