staging: lustre: ptlrpc: imp_peer_committed_transno should increase
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Thu, 27 Oct 2016 22:12:02 +0000 (18:12 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 30 Oct 2016 15:02:33 +0000 (11:02 -0400)
imp_peer_committed_transno should not decrease as this can
confuse the users if imp_peer_committed_transno is used to
check commit status.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7079
Reviewed-on: http://review.whamcloud.com/16161
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/ptlrpc/client.c

index cc4b129..7cbfb4c 100644 (file)
@@ -1242,6 +1242,7 @@ static int after_reply(struct ptlrpc_request *req)
        int rc;
        struct timespec64 work_start;
        long timediff;
+       u64 committed;
 
        LASSERT(obd);
        /* repbuf must be unlinked */
@@ -1400,10 +1401,9 @@ static int after_reply(struct ptlrpc_request *req)
                }
 
                /* Replay-enabled imports return commit-status information. */
-               if (lustre_msg_get_last_committed(req->rq_repmsg)) {
-                       imp->imp_peer_committed_transno =
-                               lustre_msg_get_last_committed(req->rq_repmsg);
-               }
+               committed = lustre_msg_get_last_committed(req->rq_repmsg);
+               if (likely(committed > imp->imp_peer_committed_transno))
+                       imp->imp_peer_committed_transno = committed;
 
                ptlrpc_free_committed(imp);