From 51f1b46dab6c2cc16f71d3f3be483f530b5e4001 Mon Sep 17 00:00:00 2001 From: Niu Yawei Date: Tue, 27 Sep 2016 22:40:33 -0400 Subject: [PATCH] LU-8645 ptlrpc: update imp_known_replied_xid on resend-replay 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 Change-Id: Iaafcb187efb24cc88dc96b30a63083fac83a9078 Reviewed-on: http://review.whamcloud.com/22776 Reviewed-by: Alex Zhuravlev Tested-by: Jenkins Reviewed-by: Fan Yong Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/ptlrpc/recover.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/ptlrpc/recover.c b/lustre/ptlrpc/recover.c index 4b5568a..02f79d0 100644 --- a/lustre/ptlrpc/recover.c +++ b/lustre/ptlrpc/recover.c @@ -163,8 +163,10 @@ int ptlrpc_replay_next(struct obd_import *imp, int *inflight) /* The resend replay request may have been removed from the * unreplied list. */ if (req != NULL && 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); -- 1.8.3.1