Skip to content

Commit ee52b19

Browse files
committed
crimson/.../shard_services: add logging to local and remote reservers
Signed-off-by: Samuel Just <[email protected]>
1 parent 2b3a178 commit ee52b19

File tree

1 file changed

+49
-18
lines changed

1 file changed

+49
-18
lines changed

src/crimson/osd/shard_services.h

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "crimson/common/shared_lru.h"
1616
#include "crimson/os/futurized_collection.h"
1717
#include "osd/PeeringState.h"
18+
#include "crimson/common/log.h"
1819
#include "crimson/osd/osdmap_service.h"
1920
#include "crimson/osd/osdmap_gate.h"
2021
#include "crimson/osd/osd_meta.h"
@@ -540,26 +541,48 @@ class ShardServices : public OSDMapService {
540541
FORWARD(pg_created, pg_created, local_state.pg_map)
541542

542543
FORWARD_TO_OSD_SINGLETON_TARGET(
543-
local_update_priority,
544-
local_reserver.update_priority)
545-
FORWARD_TO_OSD_SINGLETON_TARGET(
546-
local_cancel_reservation,
547-
local_reserver.cancel_reservation)
544+
snap_dump_reservations,
545+
snap_reserver.dump)
546+
547+
auto local_update_priority(spg_t pgid, unsigned newprio) {
548+
LOG_PREFIX(ShardServices::local_update_priority);
549+
SUBDEBUG(osd, "sending to singleton pgid {} newprio {}", pgid, newprio);
550+
return with_singleton([FNAME, pgid, newprio](auto &singleton) {
551+
SUBDEBUG(osd, "on singleton pgid {} newprio {}", pgid, newprio);
552+
return singleton.local_reserver.update_priority(pgid, newprio);
553+
});
554+
}
555+
auto local_cancel_reservation(spg_t pgid) {
556+
LOG_PREFIX(ShardServices::local_cancel_reservation);
557+
SUBDEBUG(osd, "sending to singleton pgid {}", pgid);
558+
return with_singleton([FNAME, pgid](auto &singleton) {
559+
SUBDEBUG(osd, "on singleton pgid {}", pgid);
560+
return singleton.local_reserver.cancel_reservation(pgid);
561+
});
562+
}
548563
FORWARD_TO_OSD_SINGLETON_TARGET(
549564
local_dump_reservations,
550565
local_reserver.dump)
551-
FORWARD_TO_OSD_SINGLETON_TARGET(
552-
remote_cancel_reservation,
553-
remote_reserver.cancel_reservation)
566+
567+
auto remote_update_priority(spg_t pgid, unsigned newprio) {
568+
LOG_PREFIX(ShardServices::remote_update_priority);
569+
SUBDEBUG(osd, "sending to singleton pgid {} newprio {}", pgid, newprio);
570+
return with_singleton([FNAME, pgid, newprio](auto &singleton) {
571+
SUBDEBUG(osd, "on singleton pgid {} newprio {}", pgid, newprio);
572+
return singleton.remote_reserver.update_priority(pgid, newprio);
573+
});
574+
}
575+
auto remote_cancel_reservation(spg_t pgid) {
576+
LOG_PREFIX(ShardServices::remote_cancel_reservation);
577+
SUBDEBUG(osd, "sending to singleton pgid {}", pgid);
578+
return with_singleton([FNAME, pgid](auto &singleton) {
579+
SUBDEBUG(osd, "on singleton pgid {}", pgid);
580+
return singleton.remote_reserver.cancel_reservation(pgid);
581+
});
582+
}
554583
FORWARD_TO_OSD_SINGLETON_TARGET(
555584
remote_dump_reservations,
556585
remote_reserver.dump)
557-
FORWARD_TO_OSD_SINGLETON_TARGET(
558-
snap_cancel_reservation,
559-
snap_reserver.cancel_reservation)
560-
FORWARD_TO_OSD_SINGLETON_TARGET(
561-
snap_dump_reservations,
562-
snap_reserver.dump)
563586

564587
Context *invoke_context_on_core(core_id_t core, Context *c) {
565588
if (!c) return nullptr;
@@ -576,9 +599,13 @@ class ShardServices : public OSDMapService {
576599
Context *on_reserved,
577600
unsigned prio,
578601
Context *on_preempt) {
602+
LOG_PREFIX(ShardServices::local_request_reservation);
603+
SUBDEBUG(osd, "sending to singleton pgid {} prio {}", item, prio);
579604
return with_singleton(
580-
[item, prio](OSDSingletonState &singleton,
581-
Context *wrapped_on_reserved, Context *wrapped_on_preempt) {
605+
[FNAME, item, prio](
606+
OSDSingletonState &singleton,
607+
Context *wrapped_on_reserved, Context *wrapped_on_preempt) {
608+
SUBDEBUG(osd, "on singleton pgid {} prio {}", item, prio);
582609
return singleton.local_reserver.request_reservation(
583610
item,
584611
wrapped_on_reserved,
@@ -593,9 +620,13 @@ class ShardServices : public OSDMapService {
593620
Context *on_reserved,
594621
unsigned prio,
595622
Context *on_preempt) {
623+
LOG_PREFIX(ShardServices::remote_request_reservation);
624+
SUBDEBUG(osd, "sending to singleton pgid {} prio {}", item, prio);
596625
return with_singleton(
597-
[item, prio](OSDSingletonState &singleton,
598-
Context *wrapped_on_reserved, Context *wrapped_on_preempt) {
626+
[FNAME, item, prio](
627+
OSDSingletonState &singleton,
628+
Context *wrapped_on_reserved, Context *wrapped_on_preempt) {
629+
SUBDEBUG(osd, "on singleton pgid {} prio {}", item, prio);
599630
return singleton.remote_reserver.request_reservation(
600631
item,
601632
wrapped_on_reserved,

0 commit comments

Comments
 (0)