Merge pull request #60715 from ronen-fr/wip-rf-dumpsched

osd/scrub: list additional information when dumping the queue

Reviewed-by: Samuel Just <sjust@redhat.com>
This commit is contained in:
Ronen Friedman 2024-11-14 15:55:36 +02:00 committed by GitHub
commit 9aab8e7446
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 1 deletions

View File

@ -140,9 +140,10 @@ bool ScrubQueue::remove_entry_unlocked(spg_t pgid, scrub_level_t s_or_d)
void ScrubQueue::dump_scrubs(ceph::Formatter* f) const
{
ceph_assert(f != nullptr);
const auto query_time = ceph_clock_now();
f->open_array_section("scrubs");
for_each_job(
[&f](const Scrub::SchedEntry& e) {
[&f, query_time](const Scrub::SchedEntry& e) {
f->open_object_section("scrub");
f->dump_stream("pgid") << e.pgid;
f->dump_stream("sched_time") << e.schedule.not_before;
@ -151,6 +152,15 @@ void ScrubQueue::dump_scrubs(ceph::Formatter* f) const
f->dump_bool(
"forced",
e.schedule.scheduled_at == PgScrubber::scrub_must_stamp());
f->dump_stream("level") << (e.level == scrub_level_t::shallow
? "shallow"
: "deep");
f->dump_stream("urgency") << fmt::format("{}", e.urgency);
f->dump_bool("eligible", e.schedule.not_before <= query_time);
f->dump_bool("overdue", e.schedule.deadline < query_time);
f->dump_stream("last_issue") << fmt::format("{}", e.last_issue);
f->close_section();
},
std::numeric_limits<int>::max());