]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
PG: fix last_peering_reset and past_intervals references
authorSamuel Just <sjust@redhat.com>
Fri, 5 Apr 2019 23:53:32 +0000 (16:53 -0700)
committersjust@redhat.com <sjust@redhat.com>
Wed, 1 May 2019 18:22:26 +0000 (11:22 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PG.cc
src/osd/PG.h
src/osd/PrimaryLogPG.cc

index 38d7f495c457b37c8d56c796a266b701ddf116e6..26d5693802ceb70b45630f0f838c17c8353be98d 100644 (file)
@@ -192,9 +192,7 @@ PG::PG(OSDService *o, OSDMapRef curmap,
   actingset(recovery_state.actingset),
   acting_recovery_backfill(recovery_state.acting_recovery_backfill),
   info(recovery_state.info),
-  past_intervals(recovery_state.past_intervals),
   pg_log(recovery_state.pg_log),
-  last_peering_reset(recovery_state.last_peering_reset),
   last_update_ondisk(recovery_state.last_update_ondisk),
   last_complete_ondisk(recovery_state.last_complete_ondisk),
   last_update_applied(recovery_state.last_update_applied),
@@ -3373,10 +3371,10 @@ void PG::scrub_finish()
 
 bool PG::old_peering_msg(epoch_t reply_epoch, epoch_t query_epoch)
 {
-  if (last_peering_reset > reply_epoch ||
-      last_peering_reset > query_epoch) {
+  if (get_last_peering_reset() > reply_epoch ||
+      get_last_peering_reset() > query_epoch) {
     dout(10) << "old_peering_msg reply_epoch " << reply_epoch << " query_epoch " << query_epoch
-            << " last_peering_reset " << last_peering_reset
+            << " last_peering_reset " << get_last_peering_reset()
             << dendl;
     return true;
   }
index 933a1476c1fb1eeba1238ecccf1329177ae74481..ab58099816435d05b32059ea40348e9d85420b66 100644 (file)
@@ -189,9 +189,7 @@ protected:
   set<pg_shard_t> &actingset;
   set<pg_shard_t> &acting_recovery_backfill;
   pg_info_t &info;
-  PastIntervals &past_intervals;
   PGLog &pg_log;
-  epoch_t &last_peering_reset;
   eversion_t &last_update_ondisk;
   eversion_t &last_complete_ondisk;
   eversion_t &last_update_applied;
@@ -701,7 +699,7 @@ public:
 
 protected:
   epoch_t get_last_peering_reset() const {
-    return last_peering_reset;
+    return recovery_state.get_last_peering_reset();
   }
 
   /* heartbeat peers */
index 6787b5b9f63ee0cb5548a078d68f56e155795dfd..75ce5e4c37b0005695998e78ae4acccab3dee3fd 100644 (file)
@@ -10664,7 +10664,7 @@ void PrimaryLogPG::submit_log_entries(
            spg_t(info.pgid.pgid, i->shard),
            pg_whoami.shard,
            get_osdmap_epoch(),
-           last_peering_reset,
+           get_last_peering_reset(),
            repop->rep_tid,
            pg_trim_to,
            min_last_complete_ondisk);
@@ -10675,7 +10675,7 @@ void PrimaryLogPG::submit_log_entries(
          MOSDPGLog *m = new MOSDPGLog(
            peer.shard, pg_whoami.shard,
            info.last_update.epoch,
-           info, last_peering_reset);
+           info, get_last_peering_reset());
          m->log.log = entries;
          m->log.tail = old_last_update;
          m->log.head = info.last_update;
@@ -13000,7 +13000,7 @@ uint64_t PrimaryLogPG::recover_backfill(
        dout(10) << " scanning peer osd." << bt << " from " << pbi.end << dendl;
        epoch_t e = get_osdmap_epoch();
        MOSDPGScan *m = new MOSDPGScan(
-         MOSDPGScan::OP_SCAN_GET_DIGEST, pg_whoami, e, last_peering_reset,
+         MOSDPGScan::OP_SCAN_GET_DIGEST, pg_whoami, e, get_last_peering_reset(),
          spg_t(info.pgid.pgid, bt.shard),
          pbi.end, hobject_t());
        osd->send_message_osd_cluster(bt.osd, m, get_osdmap_epoch());
@@ -13244,7 +13244,7 @@ uint64_t PrimaryLogPG::recover_backfill(
         m = new MOSDPGBackfill(
          MOSDPGBackfill::OP_BACKFILL_FINISH,
          e,
-         last_peering_reset,
+         get_last_peering_reset(),
          spg_t(info.pgid.pgid, bt.shard));
         // Use default priority here, must match sub_op priority
         /* pinfo.stats might be wrong if we did log-based recovery on the
@@ -13256,7 +13256,7 @@ uint64_t PrimaryLogPG::recover_backfill(
         m = new MOSDPGBackfill(
          MOSDPGBackfill::OP_BACKFILL_PROGRESS,
          e,
-         last_peering_reset,
+         get_last_peering_reset(),
          spg_t(info.pgid.pgid, bt.shard));
         // Use default priority here, must match sub_op priority
       }