11// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
22// vim: ts=8 sw=2 smarttab expandtab
33
4+ #include " crimson/common/log.h"
45#include " crimson/osd/osd_operations/client_request_common.h"
56#include " crimson/osd/pg.h"
67#include " crimson/osd/osd_operations/background_recovery.h"
78
8- namespace {
9- seastar::logger& logger () {
10- return crimson::get_logger (ceph_subsys_osd);
11- }
12- }
9+ SET_SUBSYS (osd);
1310
1411namespace crimson ::osd {
1512
@@ -19,51 +16,59 @@ CommonClientRequest::do_recover_missing(
1916 const hobject_t & soid,
2017 const osd_reqid_t & reqid)
2118{
22- logger ().debug (" {} reqid {} check for recovery, {}" ,
23- __func__, reqid, soid);
19+ LOG_PREFIX (CommonCLientRequest::do_recover_missing);
20+ DEBUGDPP (
21+ " reqid {} check for recovery, {}" ,
22+ *pg, reqid, soid);
2423 assert (pg->is_primary ());
2524 eversion_t ver;
2625 auto &peering_state = pg->get_peering_state ();
2726 auto &missing_loc = peering_state.get_missing_loc ();
2827 bool needs_recovery_or_backfill = false ;
2928
3029 if (pg->is_unreadable_object (soid)) {
31- logger ().debug (" {} reqid {}, {} is unreadable" ,
32- __func__, reqid, soid);
30+ DEBUGDPP (
31+ " reqid {}, {} is unreadable" ,
32+ *pg, reqid, soid);
3333 ceph_assert (missing_loc.needs_recovery (soid, &ver));
3434 needs_recovery_or_backfill = true ;
3535 }
3636
3737 if (pg->is_degraded_or_backfilling_object (soid)) {
38- logger ().debug (" {} reqid {}, {} is degraded or backfilling" ,
39- __func__, reqid, soid);
38+ DEBUGDPP (
39+ " reqid {}, {} is degraded or backfilling" ,
40+ *pg, reqid, soid);
4041 if (missing_loc.needs_recovery (soid, &ver)) {
4142 needs_recovery_or_backfill = true ;
4243 }
4344 }
4445
4546 if (!needs_recovery_or_backfill) {
46- logger ().debug (" {} reqid {} nothing to recover {}" ,
47- __func__, reqid, soid);
47+ DEBUGDPP (
48+ " reqid {} nothing to recover {}" ,
49+ *pg, reqid, soid);
4850 return seastar::make_ready_future<bool >(false );
4951 }
5052
5153 if (pg->get_peering_state ().get_missing_loc ().is_unfound (soid)) {
5254 return seastar::make_ready_future<bool >(true );
5355 }
54- logger ().debug (" {} reqid {} need to wait for recovery, {} version {}" ,
55- __func__, reqid, soid, ver);
56+ DEBUGDPP (
57+ " reqid {} need to wait for recovery, {} version {}" ,
58+ *pg, reqid, soid);
5659 if (pg->get_recovery_backend ()->is_recovering (soid)) {
57- logger ().debug (" {} reqid {} object {} version {}, already recovering" ,
58- __func__, reqid, soid, ver);
60+ DEBUGDPP (
61+ " reqid {} object {} version {}, already recovering" ,
62+ *pg, reqid, soid, ver);
5963 return pg->get_recovery_backend ()->get_recovering (
6064 soid).wait_for_recovered (
6165 ).then ([] {
6266 return seastar::make_ready_future<bool >(false );
6367 });
6468 } else {
65- logger ().debug (" {} reqid {} object {} version {}, starting recovery" ,
66- __func__, reqid, soid, ver);
69+ DEBUGDPP (
70+ " reqid {} object {} version {}, starting recovery" ,
71+ *pg, reqid, soid, ver);
6772 auto [op, fut] =
6873 pg->get_shard_services ().start_operation <UrgentRecovery>(
6974 soid, ver, pg, pg->get_shard_services (), pg->get_osdmap_epoch ());
0 commit comments