]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/osd_types: object_info_t::get_flag_string()
authorSage Weil <sage@inktank.com>
Tue, 1 Oct 2013 23:23:21 +0000 (16:23 -0700)
committerSage Weil <sage@inktank.com>
Tue, 1 Oct 2013 23:23:21 +0000 (16:23 -0700)
Stop adding these ad-hoc to the operator<<.

Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/osd_types.cc
src/osd/osd_types.h

index 1fecece92902af169051a493992631d9230c1d72..4ccad5eebb970e672e634c60e4ca8e3cbde93915 100644 (file)
@@ -2968,10 +2968,8 @@ ostream& operator<<(ostream& out, const object_info_t& oi)
     out << " wrlock_by=" << oi.wrlock_by;
   else
     out << " " << oi.snaps;
-  if (oi.is_lost())
-    out << " LOST";
-  if (oi.is_whiteout())
-    out << " WHITEOUT";
+  if (oi.flags)
+    out << " " << oi.get_flag_string();
   out << ")";
   return out;
 }
index 8e5b7319bd6e3e80332d50620a8e84b7cbdcb917..72ee32c4cc58f2cbc46585aa9d8ef5d7c86408fa 100644 (file)
@@ -2103,14 +2103,32 @@ struct object_info_t {
     // ...
     FLAG_USES_TMAP = 1<<8,
   } flag_t;
+
   flag_t flags;
 
+  static string get_flag_string(flag_t flags) {
+    string s;
+    if (flags & FLAG_LOST)
+      s += "|lost";
+    if (flags & FLAG_WHITEOUT)
+      s += "|whiteout";
+    if (flags & FLAG_DIRTY)
+      s += "|dirty";
+    if (flags & FLAG_USES_TMAP)
+      s += "|uses_tmap";
+    if (s.length())
+      return s.substr(1);
+    return s;
+  }
+  string get_flag_string() const {
+    return get_flag_string(flags);
+  }
+
   osd_reqid_t wrlock_by;   // [head]
   vector<snapid_t> snaps;  // [clone]
 
   uint64_t truncate_seq, truncate_size;
 
-
   map<pair<uint64_t, entity_name_t>, watch_info_t> watchers;
 
   void copy_user_bits(const object_info_t& other);