]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/PGMonitor: avoid useless register_new_pgs work
authorSage Weil <sage@redhat.com>
Thu, 17 Sep 2015 21:13:17 +0000 (17:13 -0400)
committerSage Weil <sage@redhat.com>
Mon, 21 Sep 2015 18:35:02 +0000 (14:35 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/PGMonitor.cc
src/osd/OSD.cc

index 9c6eefcf35cb14c64b2313f09fca1f0b8dd309d6..2a73700fd1e118a562498fa1f90d21e12d95f180 100644 (file)
@@ -1087,13 +1087,12 @@ bool PGMonitor::register_new_pgs()
     }
   }
 
+  // we don't want to redo this work if we can avoid it.
+  pending_inc.pg_scan = epoch;
+
   dout(10) << "register_new_pgs registered " << created << " new pgs, removed "
           << removed << " uncreated pgs" << dendl;
-  if (created || removed) {
-    pending_inc.pg_scan = epoch;
-    return true;
-  }
-  return false;
+  return (created || removed);
 }
 
 void PGMonitor::map_pg_creates()
index 0572410e3c51fa113baa045948c68d88be9401cc..0e6d59468119b7dc67b1964092c7d78eca43bd23 100644 (file)
@@ -4350,6 +4350,10 @@ void OSD::ms_handle_connect(Connection *con)
     if (is_booting()) {
       start_boot();
     } else {
+      utime_t now = ceph_clock_now(NULL);
+      last_mon_report = now;
+
+      // resend everything, it's a new session
       send_alive();
       service.send_pg_temp();
       send_failures();