From: Jason Dillaman Date: Thu, 24 Mar 2016 03:07:12 +0000 (-0400) Subject: rbd-mirror: fix state output stream formatter X-Git-Tag: v10.1.1~64^2~19 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6541e3566ac78d36fde3d4e212c3b8ab09114bce;p=ceph.git rbd-mirror: fix state output stream formatter Signed-off-by: Jason Dillaman --- diff --git a/src/tools/rbd_mirror/ImageReplayer.cc b/src/tools/rbd_mirror/ImageReplayer.cc index b9762f655d58..25c84838c6a9 100644 --- a/src/tools/rbd_mirror/ImageReplayer.cc +++ b/src/tools/rbd_mirror/ImageReplayer.cc @@ -735,11 +735,11 @@ void ImageReplayer::print_status(Formatter *f, stringstream *ss) if (f) { f->open_object_section("image_replayer"); f->dump_string("name", m_name); - f->dump_stream("state") << m_state; + f->dump_string("state", to_string(m_state)); f->close_section(); f->flush(*ss); } else { - *ss << m_name << ": state: " << m_state; + *ss << m_name << ": state: " << to_string(m_state); } } @@ -789,33 +789,24 @@ void ImageReplayer::shut_down_journal_replay(bool cancel_ops) } template -std::ostream &operator<<(std::ostream &os, - const typename ImageReplayer::State &state) -{ +std::string ImageReplayer::to_string(const State state) { switch (state) { case ImageReplayer::STATE_UNINITIALIZED: - os << "Uninitialized"; - break; + return "Uninitialized"; case ImageReplayer::STATE_STARTING: - os << "Starting"; - break; + return "Starting"; case ImageReplayer::STATE_REPLAYING: - os << "Replaying"; - break; + return "Replaying"; case ImageReplayer::STATE_FLUSHING_REPLAY: - os << "FlushingReplay"; - break; + return "FlushingReplay"; case ImageReplayer::STATE_STOPPING: - os << "Stopping"; - break; + return "Stopping"; case ImageReplayer::STATE_STOPPED: - os << "Stopped"; - break; + return "Stopped"; default: - os << "Unknown(" << state << ")"; break; } - return os; + return "Unknown(" + stringify(state) + ")"; } template diff --git a/src/tools/rbd_mirror/ImageReplayer.h b/src/tools/rbd_mirror/ImageReplayer.h index d7d1b2a0eecc..8f36fd099f20 100644 --- a/src/tools/rbd_mirror/ImageReplayer.h +++ b/src/tools/rbd_mirror/ImageReplayer.h @@ -175,6 +175,8 @@ private: librbd::journal::MirrorPeerClientMeta m_client_meta; + static std::string to_string(const State state); + State get_state_() const { return m_state; } bool is_stopped_() const { return m_state == STATE_UNINITIALIZED || m_state == STATE_STOPPED; }