]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/: fix primary/up_primary references
authorSamuel Just <sjust@redhat.com>
Sat, 6 Apr 2019 00:31:23 +0000 (17:31 -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.h

index 5358a4746d830091be0aa3383392b1a1a51f166b..a27ca9988696c95b2d17adf838cae85cad0c17e5 100644 (file)
@@ -185,9 +185,7 @@ PG::PG(OSDService *o, OSDMapRef curmap,
     curmap,
     this,
     this),
-  primary(recovery_state.primary),
   pg_whoami(recovery_state.pg_whoami),
-  up_primary(recovery_state.up_primary),
   upset(recovery_state.upset),
   actingset(recovery_state.actingset),
   acting_recovery_backfill(recovery_state.acting_recovery_backfill),
@@ -1958,7 +1956,7 @@ void PG::handle_scrub_reserve_request(OpRequestRef op)
   const MOSDScrubReserve *m =
     static_cast<const MOSDScrubReserve*>(op->get_req());
   Message *reply = new MOSDScrubReserve(
-    spg_t(info.pgid.pgid, primary.shard),
+    spg_t(info.pgid.pgid, get_primary().shard),
     m->map_epoch,
     scrubber.reserved ? MOSDScrubReserve::GRANT : MOSDScrubReserve::REJECT,
     pg_whoami);
@@ -2418,7 +2416,7 @@ void PG::repair_object(
     dout(0) << __func__ << ": Need version of replica, bad object_info_t: " << soid << dendl;
     ceph_abort();
   }
-  if (bad_peer != primary) {
+  if (bad_peer != get_primary()) {
     peer_missing[bad_peer].add(soid, oi.version, eversion_t(), false);
   } else {
     // We should only be scrubbing if the PG is clean.
@@ -2427,10 +2425,10 @@ void PG::repair_object(
     pg_log.missing_add(soid, oi.version, eversion_t());
 
     pg_log.set_last_requested(0);
-    dout(10) << __func__ << ": primary = " << primary << dendl;
+    dout(10) << __func__ << ": primary = " << get_primary() << dendl;
   }
 
-  if (is_ec_pg() || bad_peer == primary) {
+  if (is_ec_pg() || bad_peer == get_primary()) {
     // we'd better collect all shard for EC pg, and prepare good peers as the
     // source of pull in the case of replicated pg.
     missing_loc.add_missing(soid, oi.version, eversion_t());
index 2c20d80c18a55458892aa7c126c4a24a69210c2b..9f6a682a9a2f011dd855dd951def30a3127260b8 100644 (file)
@@ -182,9 +182,7 @@ protected:
   /**
    * Peering state information being moved to PeeringState
    */
-  pg_shard_t &primary;
-  pg_shard_t &pg_whoami;
-  pg_shard_t &up_primary;
+  pg_shard_t pg_whoami;
   set<pg_shard_t> &upset;
   set<pg_shard_t> &actingset;
   set<pg_shard_t> &acting_recovery_backfill;
index ad5876f7445d1fe26cce364955c13a530bb52d88..167c7e2d4af7d96e447e84d9aaa5d02bab9258b8 100644 (file)
@@ -498,10 +498,10 @@ public:
     return pg_whoami;
   }
   spg_t primary_spg_t() const override {
-    return spg_t(info.pgid.pgid, primary.shard);
+    return spg_t(info.pgid.pgid, get_primary().shard);
   }
   pg_shard_t primary_shard() const override {
-    return primary;
+    return get_primary();
   }
 
   void send_message_osd_cluster(