summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-10-01 16:23:21 -0700
committerSage Weil <sage@inktank.com>2013-10-01 16:23:21 -0700
commitd42d2b97cf528a7211986241126bcc15c2ead35a (patch)
treeb2fe07ff47dafb597aee56c70681a17267ccfcb3
parenta0ed9c20048750fd4b2c7ce0339fa8b20ef08ca3 (diff)
downloadceph-d42d2b97cf528a7211986241126bcc15c2ead35a.tar.gz
osd/osd_types: object_info_t::get_flag_string()
Stop adding these ad-hoc to the operator<<. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/osd_types.cc6
-rw-r--r--src/osd/osd_types.h20
2 files changed, 21 insertions, 5 deletions
diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc
index 1fecece9290..4ccad5eebb9 100644
--- a/src/osd/osd_types.cc
+++ b/src/osd/osd_types.cc
@@ -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;
}
diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h
index 8e5b7319bd6..72ee32c4cc5 100644
--- a/src/osd/osd_types.h
+++ b/src/osd/osd_types.h
@@ -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);