]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: fix state output stream formatter
authorJason Dillaman <dillaman@redhat.com>
Thu, 24 Mar 2016 03:07:12 +0000 (23:07 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 29 Mar 2016 19:19:25 +0000 (15:19 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/tools/rbd_mirror/ImageReplayer.cc
src/tools/rbd_mirror/ImageReplayer.h

index b9762f655d58c18968268a4b2c95eed94273d8db..25c84838c6a99090f7f260be7fb7604d4a18979a 100644 (file)
@@ -735,11 +735,11 @@ void ImageReplayer<I>::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<I>::shut_down_journal_replay(bool cancel_ops)
 }
 
 template <typename I>
-std::ostream &operator<<(std::ostream &os,
-                         const typename ImageReplayer<I>::State &state)
-{
+std::string ImageReplayer<I>::to_string(const State state) {
   switch (state) {
   case ImageReplayer<I>::STATE_UNINITIALIZED:
-    os << "Uninitialized";
-    break;
+    return "Uninitialized";
   case ImageReplayer<I>::STATE_STARTING:
-    os << "Starting";
-    break;
+    return "Starting";
   case ImageReplayer<I>::STATE_REPLAYING:
-    os << "Replaying";
-    break;
+    return "Replaying";
   case ImageReplayer<I>::STATE_FLUSHING_REPLAY:
-    os << "FlushingReplay";
-    break;
+    return "FlushingReplay";
   case ImageReplayer<I>::STATE_STOPPING:
-    os << "Stopping";
-    break;
+    return "Stopping";
   case ImageReplayer<I>::STATE_STOPPED:
-    os << "Stopped";
-    break;
+    return "Stopped";
   default:
-    os << "Unknown(" << state << ")";
     break;
   }
-  return os;
+  return "Unknown(" + stringify(state) + ")";
 }
 
 template <typename I>
index d7d1b2a0eecc3583d8551778ee8f4c413f4fa6e1..8f36fd099f20b676d07a8364f2a3dcaeb10caa7f 100644 (file)
@@ -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; }