`PG` directly aggregates both `OSDMap` and `PeeringState` which
maintains its own `OSDMap` instance. This duplication leads to
issues as the `PG::osdmap` never gets updated.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit
d8655c08ab51e2c5b1437c7a46498d5450a1bac0)
pgmeta_oid{pgid.make_pgmeta_oid()},
osdmap_gate("PG::osdmap_gate"),
shard_services{shard_services},
- osdmap{osdmap},
backend(
PGBackend::create(
pgid.pgid,
PG_OSDMapGate osdmap_gate;
ShardServices &shard_services;
- cached_map_t osdmap;
public:
- cached_map_t get_osdmap() { return osdmap; }
+ cached_map_t get_osdmap() { return peering_state.get_osdmap(); }
eversion_t next_version() {
return eversion_t(get_osdmap_epoch(),
++projected_last_update.version);