]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
messages/MOSDOp: avoid uninit/undecoded fields in print()
authorSage Weil <sage@redhat.com>
Sat, 3 Oct 2015 17:09:04 +0000 (13:09 -0400)
committerSage Weil <sage@redhat.com>
Sat, 3 Oct 2015 17:32:30 +0000 (13:32 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/messages/MOSDOp.h

index 345afa129ae00ca230e26cacd4ce1a01ded1e03d..e25bfc24cc35cf2a01755603a9103b9f57c0ee16 100755 (executable)
@@ -444,37 +444,29 @@ struct ceph_osd_request_head {
 
   const char *get_type_name() const { return "osd_op"; }
   void print(ostream& out) const {
-    if (!partial_decode_needed)
-      out << "osd_op(" << get_reqid();
-    out << " ";
-    if (!oloc.nspace.empty())
-      out << oloc.nspace << "/";
-    out << oid;
-
-#if 0
-    out << " ";
-    if (may_read())
-      out << "r";
-    if (may_write())
-      out << "w";
-#endif
-    if (snapid != CEPH_NOSNAP)
-      out << "@" << snapid;
-
-    if (oloc.key.size())
-      out << " " << oloc;
-
-    out << " " << ops;
-    out << " " << pgid;
-    if (is_retry_attempt())
-      out << " RETRY=" << get_retry_attempt();
-    if (reassert_version != eversion_t())
-      out << " reassert_version=" << reassert_version;
-    if (!final_decode_needed)
-      out << " snapc " << get_snap_seq() << "=" << snaps;
-    if (!partial_decode_needed)
+    out << "osd_op(";
+    if (!partial_decode_needed) {
+      out << get_reqid() << ' ';
+      out << pgid;
+      if (!final_decode_needed) {
+       out << ' ';
+       if (!oloc.nspace.empty())
+         out << oloc.nspace << "/";
+       out << oid
+           << " " << ops
+           << " snapc " << get_snap_seq() << "=" << snaps;
+       if (oloc.key.size())
+         out << " " << oloc;
+       if (is_retry_attempt())
+         out << " RETRY=" << get_retry_attempt();
+      } else {
+       out << " (undecoded)";
+      }
       out << " " << ceph_osd_flag_string(get_flags());
-    out << " e" << osdmap_epoch;
+      if (reassert_version != eversion_t())
+       out << " reassert_version=" << reassert_version;
+      out << " e" << osdmap_epoch;
+    }
     out << ")";
   }
 };