[lustre-devel] [PATCH 2/2] staging/lustre/ptlrpc: update imp_known_replied_xid on resend-replay

Oleg Drokin green at linuxhacker.ru
Wed Nov 16 17:05:30 PST 2016


From: Niu Yawei <yawei.niu at intel.com>

The imp_known_replied_xid should be updated when try to resend
an already replied replay request, because the xid of this replay
request could be less than current imp_known_replied_xid.

Signed-off-by: Niu Yawei <yawei.niu at intel.com>
Reviewed-on: http://review.whamcloud.com/22776
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8645
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev at intel.com>
Reviewed-by: Fan Yong <fan.yong at intel.com>
Signed-off-by: Oleg Drokin <green at linuxhacker.ru>
---
 drivers/staging/lustre/lustre/ptlrpc/recover.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/ptlrpc/recover.c b/drivers/staging/lustre/lustre/ptlrpc/recover.c
index 344aedd..c004490 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/recover.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/recover.c
@@ -161,8 +161,10 @@ int ptlrpc_replay_next(struct obd_import *imp, int *inflight)
 	 * unreplied list.
 	 */
 	if (req && imp->imp_resend_replay &&
-	    list_empty(&req->rq_unreplied_list))
+	    list_empty(&req->rq_unreplied_list)) {
 		ptlrpc_add_unreplied(req);
+		imp->imp_known_replied_xid = ptlrpc_known_replied_xid(imp);
+	}
 
 	imp->imp_resend_replay = 0;
 	spin_unlock(&imp->imp_lock);
-- 
2.7.4



More information about the lustre-devel mailing list