From: green Date: Wed, 4 Nov 2009 04:17:26 +0000 (+0000) Subject: b=19128 X-Git-Tag: GIT_EPOCH_B_HD_KDMU~127 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=3fb3492697fd4356934675870cd1dad07485b0dc;p=fs%2Flustre-release.git 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. --- 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)