summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-10-11 17:50:16 +0100
committerJoao Eduardo Luis <joao.luis@inktank.com>2013-10-11 17:50:16 +0100
commit70250e84561615236405d31a5834960c68424a1f (patch)
tree09e515f0ac92b4a81c5f9ecd66cbfdaf83a2299b
parent1c2886964a0c005545abab0cf8feae7e06ac02a8 (diff)
downloadceph-wip-mon-pool-set.tar.gz
osd: osd_types: Output pool's flag names during dumpwip-mon-pool-set
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r--src/osd/osd_types.cc3
-rw-r--r--src/osd/osd_types.h19
2 files changed, 21 insertions, 1 deletions
diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc
index 27f7b171677..1a9dde665cf 100644
--- a/src/osd/osd_types.cc
+++ b/src/osd/osd_types.cc
@@ -655,6 +655,7 @@ void pool_snap_info_t::generate_test_instances(list<pool_snap_info_t*>& o)
void pg_pool_t::dump(Formatter *f) const
{
f->dump_unsigned("flags", get_flags());
+ f->dump_string("flags_names", get_flags_string());
f->dump_int("type", get_type());
f->dump_int("size", get_size());
f->dump_int("min_size", get_min_size());
@@ -1054,7 +1055,7 @@ ostream& operator<<(ostream& out, const pg_pool_t& p)
<< " last_change " << p.get_last_change()
<< " owner " << p.get_auid();
if (p.flags)
- out << " flags " << p.flags;
+ out << " flags " << p.get_flags_string();
if (p.crash_replay_interval)
out << " crash_replay_interval " << p.crash_replay_interval;
if (p.quota_max_bytes)
diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h
index a54fc65f375..8bf8822bffd 100644
--- a/src/osd/osd_types.h
+++ b/src/osd/osd_types.h
@@ -725,6 +725,25 @@ struct pg_pool_t {
FLAG_FULL = 2, // pool is full
};
+ static const char *get_flag_name(int f) {
+ switch (f) {
+ case FLAG_HASHPSPOOL: return "hashpspool";
+ case FLAG_FULL: return "full";
+ default: return "???";
+ }
+ }
+ string get_flags_string() const {
+ string s;
+ if (flags & FLAG_HASHPSPOOL)
+ s += get_flag_name(FLAG_HASHPSPOOL);
+ if (flags & FLAG_FULL) {
+ if (s.length())
+ s += ",";
+ s += get_flag_name(FLAG_FULL);
+ }
+ return s;
+ }
+
typedef enum {
CACHEMODE_NONE = 0, ///< no caching
CACHEMODE_WRITEBACK = 1, ///< write to cache, flush later