]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: avoid unnecessary wakeup when handling RENEWCAPS
authorYan, Zheng <zyan@redhat.com>
Thu, 6 Dec 2018 09:22:25 +0000 (17:22 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 15 Jan 2019 08:35:55 +0000 (16:35 +0800)
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
src/client/Client.cc

index e69c001530b51930b2550820d22a1b89d82638d5..098b0365de82725ff76a915cf27c4f8a2de75eb1 100644 (file)
@@ -2127,9 +2127,11 @@ void Client::handle_client_session(MClientSession *m)
 
   case CEPH_SESSION_RENEWCAPS:
     if (session->cap_renew_seq == m->get_seq()) {
+      bool was_stale = ceph_clock_now() >= session->cap_ttl;
       session->cap_ttl =
        session->last_cap_renew_request + mdsmap->get_session_timeout();
-      wake_up_session_caps(session, false);
+      if (was_stale)
+       wake_up_session_caps(session, false);
     }
     break;