]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: update info only if new_interval
authorKefu Chai <kchai@redhat.com>
Mon, 4 Sep 2017 05:51:34 +0000 (13:51 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 4 Sep 2017 05:51:52 +0000 (13:51 +0800)
refactor OSD::build_initial_pg_history() so we update the info only if a
new interval is identified. also, this is consistent with
OSD::build_past_intervals_parallel().

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/osd/OSD.cc

index 35c875846900a50f760e779c34b6d7626c0ce376..0dd6155274799147d7cf71475bac2a2c41efaaa8 100644 (file)
@@ -4423,23 +4423,23 @@ void OSD::build_initial_pg_history(
       &debug);
     if (new_interval) {
       h->same_interval_since = e;
-    }
-    if (up != new_up) {
-      h->same_up_since = e;
-    }
-    if (acting_primary != new_acting_primary) {
-      h->same_primary_since = e;
-    }
-    if (pgid.pgid.is_split(lastmap->get_pg_num(pgid.pgid.pool()),
-                          osdmap->get_pg_num(pgid.pgid.pool()),
-                          nullptr)) {
-      h->last_epoch_split = e;
+      if (up != new_up) {
+        h->same_up_since = e;
+      }
+      if (acting_primary != new_acting_primary) {
+        h->same_primary_since = e;
+      }
+      if (pgid.pgid.is_split(lastmap->get_pg_num(pgid.pgid.pool()),
+                             osdmap->get_pg_num(pgid.pgid.pool()),
+                             nullptr)) {
+        h->last_epoch_split = e;
+      }
+      up = new_up;
+      acting = new_acting;
+      up_primary = new_up_primary;
+      acting_primary = new_acting_primary;
     }
     lastmap = osdmap;
-    up_primary = new_up_primary;
-    acting_primary = new_acting_primary;
-    up = new_up;
-    acting = new_acting;
   }
   dout(20) << __func__ << " " << debug.str() << dendl;
   dout(10) << __func__ << " " << *h << " " << *pi