From: Samuel Just Date: Tue, 2 Apr 2019 23:53:29 +0000 (-0700) Subject: PeeringState: pass dump_recovery_info through to pl for recovery state X-Git-Tag: v15.1.0~2774^2~40 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=6616a19194d972369be71d0908b76a02e8321600;p=ceph-ci.git PeeringState: pass dump_recovery_info through to pl for recovery state Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.h b/src/osd/PG.h index a4b57ef4586..ecc2a3ad800 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -999,7 +999,6 @@ protected: } bool all_unfound_are_queried_or_lost(const OSDMapRef osdmap) const; - virtual void dump_recovery_info(Formatter *f) const = 0; void calc_min_last_complete_ondisk() { eversion_t min = last_complete_ondisk; diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index b466443d714..c45da33c537 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -4116,7 +4116,12 @@ boost::statechart::result PeeringState::Active::react(const QueryState& q) } { q.f->open_object_section("recovery_progress"); - pg->dump_recovery_info(q.f); + q.f->open_array_section("backfill_targets"); + for (set::const_iterator p = ps->backfill_targets.begin(); + p != ps->backfill_targets.end(); ++p) + q.f->dump_stream("replica") << *p; + q.f->close_section(); + pl->dump_recovery_info(q.f); q.f->close_section(); } diff --git a/src/osd/PeeringState.h b/src/osd/PeeringState.h index a8e637c94ea..f24139b2d29 100644 --- a/src/osd/PeeringState.h +++ b/src/osd/PeeringState.h @@ -152,6 +152,8 @@ public: virtual PGLog::LogEntryHandlerRef get_log_handler( ObjectStore::Transaction *t) = 0; + virtual void dump_recovery_info(Formatter *f) const = 0; + virtual epoch_t oldest_stored_osdmap() = 0; virtual LogChannel &get_clog() = 0; diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index bf1eb300cb6..a55d224d058 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -1062,11 +1062,6 @@ protected: map pending_backfill_updates; void dump_recovery_info(Formatter *f) const override { - f->open_array_section("backfill_targets"); - for (set::const_iterator p = backfill_targets.begin(); - p != backfill_targets.end(); ++p) - f->dump_stream("replica") << *p; - f->close_section(); f->open_array_section("waiting_on_backfill"); for (set::const_iterator p = waiting_on_backfill.begin(); p != waiting_on_backfill.end(); ++p)