From 3745ab0ae511d097abe16a66327ee57455936d9c Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 5 Apr 2019 17:31:23 -0700 Subject: [PATCH] osd/: fix primary/up_primary references Signed-off-by: Samuel Just --- src/osd/PG.cc | 10 ++++------ src/osd/PG.h | 4 +--- src/osd/PrimaryLogPG.h | 4 ++-- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 5358a4746d8..a27ca998869 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -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(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()); diff --git a/src/osd/PG.h b/src/osd/PG.h index 2c20d80c18a..9f6a682a9a2 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -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 &upset; set &actingset; set &acting_recovery_backfill; diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index ad5876f7445..167c7e2d4af 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -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( -- 2.39.5