From: Niu Yawei Date: Wed, 28 Sep 2016 02:40:33 +0000 (-0400) Subject: LU-8645 ptlrpc: update imp_known_replied_xid on resend-replay X-Git-Tag: 2.8.60~53 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=51f1b46dab6c2cc16f71d3f3be483f530b5e4001;hp=445da16c2ac0475b1c1077c822800b68cdbb7ce3 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 --- 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);