From 6483710613e4ff3c08b0df67b013b25dd0f19825 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 1 Jul 2014 21:49:53 -0700 Subject: [PATCH] common/AsyncReserver: add dump() Signed-off-by: Sage Weil --- src/common/AsyncReserver.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/common/AsyncReserver.h b/src/common/AsyncReserver.h index fa49cfab8b42d..467e2570460be 100644 --- a/src/common/AsyncReserver.h +++ b/src/common/AsyncReserver.h @@ -21,6 +21,7 @@ #include "common/Mutex.h" #include "common/Finisher.h" +#include "common/Formatter.h" /** * Manages a configurable number of asyncronous reservations. @@ -79,6 +80,33 @@ public: do_queues(); } + void dump(Formatter *f) { + Mutex::Locker l(lock); + f->dump_unsigned("max_allowed", max_allowed); + f->dump_unsigned("min_priority", min_priority); + f->open_array_section("queues"); + for (typename map > > ::const_iterator p = + queues.begin(); p != queues.end(); ++p) { + f->open_object_section("queue"); + f->dump_unsigned("priority", p->first); + f->open_array_section("items"); + for (typename list >::const_iterator q = + p->second.begin(); q != p->second.end(); ++q) { + f->dump_stream("item") << q->first; + } + f->close_section(); + f->close_section(); + } + f->close_section(); + f->open_array_section("in_progress"); + for (typename set::const_iterator p = in_progress.begin(); + p != in_progress.end(); + ++p) { + f->dump_stream("item") << *p; + } + f->close_section(); + } + /** * Requests a reservation * -- 2.39.5