]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pg: report scrub status
authorMike Ryan <mike.ryan@inktank.com>
Wed, 27 Jun 2012 21:14:30 +0000 (14:14 -0700)
committerMike Ryan <mike.ryan@inktank.com>
Wed, 27 Jun 2012 23:28:30 +0000 (16:28 -0700)
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
src/osd/PG.cc

index a7479d3c78b74920621743c88b699a398b87c350..57fe824bf2968f99a298e0b5eeca1cf522a8dfcd 100644 (file)
@@ -4319,6 +4319,20 @@ boost::statechart::result PG::RecoveryState::Active::react(const QueryState& q)
     q.f->close_section();
   }
 
+  q.f->open_object_section("scrub");
+  q.f->dump_stream("scrub_epoch_start") << pg->scrub_epoch_start;
+  q.f->dump_int("scrub_active", pg->scrub_active);
+  q.f->dump_int("scrub_block_writes", pg->scrub_block_writes);
+  q.f->dump_int("finalizing_scrub", pg->finalizing_scrub);
+  q.f->dump_int("scrub_waiting_on", pg->scrub_waiting_on);
+  q.f->open_array_section("scrub_waiting_on_whom");
+  for (set<int>::iterator p = pg->scrub_waiting_on_whom.begin();
+       p != pg->scrub_waiting_on_whom.end();
+       ++p) {
+    q.f->dump_int("osd", *p);
+  }
+  q.f->close_section();
+
   q.f->close_section();
   return forward_event();
 }
@@ -4398,9 +4412,12 @@ boost::statechart::result PG::RecoveryState::ReplicaActive::react(const MQuery&
 
 boost::statechart::result PG::RecoveryState::ReplicaActive::react(const QueryState& q)
 {
+  PG *pg = context< RecoveryMachine >().pg;
+
   q.f->open_object_section("state");
   q.f->dump_string("name", state_name);
   q.f->dump_stream("enter_time") << enter_time;
+  q.f->dump_int("finalizing_scrub", pg->finalizing_scrub);
   q.f->close_section();
   return forward_event();
 }