Whamcloud - gitweb
LU-8645 ptlrpc: update imp_known_replied_xid on resend-replay 76/22776/3
authorNiu Yawei <yawei.niu@intel.com>
Wed, 28 Sep 2016 02:40:33 +0000 (22:40 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 20 Oct 2016 10:35:52 +0000 (10:35 +0000)
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@intel.com>
Change-Id: Iaafcb187efb24cc88dc96b30a63083fac83a9078
Reviewed-on: http://review.whamcloud.com/22776
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ptlrpc/recover.c

index 4b5568a..02f79d0 100644 (file)
@@ -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);