55
66#include " crimson/common/coroutine.h"
77#include " crimson/common/exception.h"
8+ #include " crimson/common/log.h"
89#include " crimson/osd/recovery_backend.h"
910#include " crimson/osd/pg.h"
1011#include " crimson/osd/pg_backend.h"
1314#include " messages/MOSDFastDispatchOp.h"
1415#include " osd/osd_types.h"
1516
16- namespace {
17- seastar::logger& logger () {
18- return crimson::get_logger (ceph_subsys_osd);
19- }
20- }
17+ SET_SUBSYS (osd);
2118
2219hobject_t RecoveryBackend::get_temp_recovery_object (
2320 const hobject_t & target,
2421 eversion_t version) const
2522{
23+ LOG_PREFIX (RecoveryBackend::get_temp_recovery_object);
2624 hobject_t hoid =
2725 target.make_temp_hobject (fmt::format (" temp_recovering_{}_{}_{}_{}" ,
2826 pg.get_info ().pgid ,
2927 version,
3028 pg.get_info ().history .same_interval_since ,
3129 target.snap ));
32- logger (). debug ( " {} {} " , __func__ , hoid);
30+ DEBUGDPP ( " {}" , pg , hoid);
3331 return hoid;
3432}
3533
@@ -123,7 +121,8 @@ void RecoveryBackend::handle_backfill_finish(
123121 MOSDPGBackfill& m,
124122 crimson::net::ConnectionXcoreRef conn)
125123{
126- logger ().debug (" {}" , __func__);
124+ LOG_PREFIX (RecoveryBackend::handle_backfill_finish);
125+ DEBUGDPP (" " , pg);
127126 ceph_assert (!pg.is_primary ());
128127 ceph_assert (crimson::common::local_conf ()->osd_kill_backfill_at != 1 );
129128 auto reply = crimson::make_message<MOSDPGBackfill>(
@@ -146,7 +145,8 @@ RecoveryBackend::interruptible_future<>
146145RecoveryBackend::handle_backfill_progress (
147146 MOSDPGBackfill& m)
148147{
149- logger ().debug (" {}" , __func__);
148+ LOG_PREFIX (RecoveryBackend::handle_backfill_progress);
149+ DEBUGDPP (" " , pg);
150150 ceph_assert (!pg.is_primary ());
151151 ceph_assert (crimson::common::local_conf ()->osd_kill_backfill_at != 2 );
152152
@@ -156,7 +156,7 @@ RecoveryBackend::handle_backfill_progress(
156156 m.stats ,
157157 m.op == MOSDPGBackfill::OP_BACKFILL_PROGRESS,
158158 t);
159- logger (). debug ( " RecoveryBackend::handle_backfill_progress: do_transaction... " );
159+ DEBUGDPP ( " submitting transaction " , pg );
160160 return shard_services.get_store ().do_transaction (
161161 pg.get_collection_ref (), std::move (t)).or_terminate ();
162162}
@@ -165,7 +165,8 @@ RecoveryBackend::interruptible_future<>
165165RecoveryBackend::handle_backfill_finish_ack (
166166 MOSDPGBackfill& m)
167167{
168- logger ().debug (" {}" , __func__);
168+ LOG_PREFIX (RecoveryBackend::handle_backfill_finish_ack);
169+ DEBUGDPP (" " , pg);
169170 ceph_assert (pg.is_primary ());
170171 ceph_assert (crimson::common::local_conf ()->osd_kill_backfill_at != 3 );
171172 auto recovery_handler = pg.get_recovery_handler ();
@@ -178,9 +179,10 @@ RecoveryBackend::handle_backfill(
178179 MOSDPGBackfill& m,
179180 crimson::net::ConnectionXcoreRef conn)
180181{
181- logger ().debug (" {}" , __func__);
182+ LOG_PREFIX (RecoveryBackend::handle_backfill);
183+ DEBUGDPP (" " , pg);
182184 if (pg.old_peering_msg (m.map_epoch , m.query_epoch )) {
183- logger (). debug ( " {}: discarding {}" , __func__ , m);
185+ DEBUGDPP ( " discarding {}" , pg , m);
184186 return seastar::now ();
185187 }
186188 switch (m.op ) {
@@ -201,7 +203,8 @@ RecoveryBackend::interruptible_future<>
201203RecoveryBackend::handle_backfill_remove (
202204 MOSDPGBackfillRemove& m)
203205{
204- logger ().debug (" {} m.ls={}" , __func__, m.ls );
206+ LOG_PREFIX (RecoveryBackend::handle_backfill_remove);
207+ DEBUGDPP (" m.ls={}" , pg, m.ls );
205208 assert (m.get_type () == MSG_OSD_PG_BACKFILL_REMOVE);
206209
207210 ObjectStore::Transaction t;
@@ -211,7 +214,7 @@ RecoveryBackend::handle_backfill_remove(
211214 pg.remove_maybe_snapmapped_object (t, soid);
212215 });
213216 }
214- logger (). debug ( " RecoveryBackend::handle_backfill_remove: do_transaction... " );
217+ DEBUGDPP ( " submitting transaction " , pg );
215218 co_await interruptor::make_interruptible (
216219 shard_services.get_store ().do_transaction (
217220 pg.get_collection_ref (), std::move (t)).or_terminate ());
@@ -223,25 +226,26 @@ RecoveryBackend::scan_for_backfill(
223226 [[maybe_unused]] const std::int64_t min,
224227 const std::int64_t max)
225228{
226- logger ().debug (" {} starting from {}" , __func__, start);
229+ LOG_PREFIX (RecoveryBackend::scan_for_backfill);
230+ DEBUGDPP (" starting from {}" , pg, start);
227231 auto version_map = seastar::make_lw_shared<std::map<hobject_t , eversion_t >>();
228232 return backend->list_objects (start, max).then_interruptible (
229- [this , start, version_map] (auto && ret) {
233+ [FNAME, this , start, version_map] (auto && ret) {
230234 auto && [objects, next] = std::move (ret);
231235 return seastar::do_with (
232236 std::move (objects),
233- [this , version_map](auto &objects) {
237+ [FNAME, this , version_map](auto &objects) {
234238 return interruptor::parallel_for_each (objects,
235- [ this , version_map] (const hobject_t & object)
239+ [FNAME, this , version_map] (const hobject_t & object)
236240 -> interruptible_future<> {
237241 crimson::osd::ObjectContextRef obc;
238242 if (pg.is_primary ()) {
239243 obc = pg.obc_registry .maybe_get_cached_obc (object);
240244 }
241245 if (obc) {
242246 if (obc->obs .exists ) {
243- logger (). debug ( " scan_for_backfill found (primary): {} {}" ,
244- object, obc->obs .oi .version );
247+ DEBUGDPP ( " found (primary): {} {}" ,
248+ pg, object, obc->obs .oi .version );
245249 version_map->emplace (object, obc->obs .oi .version );
246250 } else {
247251 // if the object does not exist here, it must have been removed
@@ -251,25 +255,25 @@ RecoveryBackend::scan_for_backfill(
251255 return seastar::now ();
252256 } else {
253257 return backend->load_metadata (object).safe_then_interruptible (
254- [version_map, object] (auto md) {
258+ [FNAME, this , version_map, object] (auto md) {
255259 if (md->os .exists ) {
256- logger (). debug ( " scan_for_backfill found: {} {}" ,
257- object, md->os .oi .version );
260+ DEBUGDPP ( " found: {} {}" , pg ,
261+ object, md->os .oi .version );
258262 version_map->emplace (object, md->os .oi .version );
259263 }
260264 return seastar::now ();
261265 }, PGBackend::load_metadata_ertr::assert_all{});
262266 }
263267 });
264- }).then_interruptible ([version_map, start=std::move (start), next=std::move (next), this ] {
268+ }).then_interruptible ([FNAME, this , version_map, start=std::move (start), next=std::move (next)] {
265269 BackfillInterval bi;
266270 bi.begin = std::move (start);
267271 bi.end = std::move (next);
268272 bi.version = pg.get_info ().last_update ;
269273 bi.objects = std::move (*version_map);
270- logger (). debug (" {} BackfillInterval filled, leaving, {}" ,
271- " scan_for_backfill" ,
272- bi);
274+ DEBUGDPP (" {} BackfillInterval filled, leaving, {}" ,
275+ " scan_for_backfill" ,
276+ pg, bi);
273277 return seastar::make_ready_future<BackfillInterval>(std::move (bi));
274278 });
275279 });
@@ -280,7 +284,8 @@ RecoveryBackend::handle_scan_get_digest(
280284 MOSDPGScan& m,
281285 crimson::net::ConnectionXcoreRef conn)
282286{
283- logger ().debug (" {}" , __func__);
287+ LOG_PREFIX (RecoveryBackend::handle_scan_get_digest);
288+ DEBUGDPP (" " , pg);
284289 if (false /* FIXME: check for backfill too full */ ) {
285290 std::ignore = shard_services.start_operation <crimson::osd::LocalPeeringEvent>(
286291 // TODO: abstract start_background_recovery
@@ -316,7 +321,8 @@ RecoveryBackend::interruptible_future<>
316321RecoveryBackend::handle_scan_digest (
317322 MOSDPGScan& m)
318323{
319- logger ().debug (" {}" , __func__);
324+ LOG_PREFIX (RecoveryBackend::handle_scan_digest);
325+ DEBUGDPP (" " , pg);
320326 // Check that from is in backfill_targets vector
321327 ceph_assert (pg.is_backfill_target (m.from ));
322328
@@ -342,9 +348,10 @@ RecoveryBackend::handle_scan(
342348 MOSDPGScan& m,
343349 crimson::net::ConnectionXcoreRef conn)
344350{
345- logger ().debug (" {}" , __func__);
351+ LOG_PREFIX (RecoveryBackend::handle_scan);
352+ DEBUGDPP (" " , pg);
346353 if (pg.old_peering_msg (m.map_epoch , m.query_epoch )) {
347- logger (). debug ( " {}: discarding {}" , __func__ , m);
354+ DEBUGDPP ( " discarding {}" , pg , m);
348355 return seastar::now ();
349356 }
350357 switch (m.op ) {
@@ -360,7 +367,7 @@ RecoveryBackend::handle_scan(
360367}
361368
362369RecoveryBackend::interruptible_future<>
363- RecoveryBackend::handle_recovery_op (
370+ RecoveryBackend::handle_backfill_op (
364371 Ref<MOSDFastDispatchOp> m,
365372 crimson::net::ConnectionXcoreRef conn)
366373{
0 commit comments