From f0e74fcf8f8c33e903c03f88c49351a27f53989c Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Fri, 17 Mar 2017 15:41:14 -0700 Subject: [PATCH] mon: FSCommands gets pool stats via PGService Signed-off-by: Greg Farnum --- src/mon/FSCommands.cc | 13 ++++++++----- src/mon/PGStatService.h | 9 ++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/mon/FSCommands.cc b/src/mon/FSCommands.cc index fb7fae3afd6..6dc6eed7fd2 100644 --- a/src/mon/FSCommands.cc +++ b/src/mon/FSCommands.cc @@ -102,11 +102,14 @@ class FsNewHandler : public FileSystemCommandHandler string force; cmd_getval(g_ceph_context,cmdmap, "force", force); - int64_t metadata_num_objects = mon->pgservice.get_pool_stat(metadata).stats.sum.num_objects; - if (force != "--force" && metadata_num_objects > 0) { - ss << "pool '" << metadata_name - << "' already contains some objects. Use an empty pool instead."; - return -EINVAL; + const pool_stat_t *stat = mon->pgservice.get_pool_stat(metadata); + if (stat) { + int64_t metadata_num_objects = stat->stats.sum.num_objects; + if (force != "--force" && metadata_num_objects > 0) { + ss << "pool '" << metadata_name + << "' already contains some objects. Use an empty pool instead."; + return -EINVAL; + } } string data_name; diff --git a/src/mon/PGStatService.h b/src/mon/PGStatService.h index 5da2cce8f64..d3c6516542c 100644 --- a/src/mon/PGStatService.h +++ b/src/mon/PGStatService.h @@ -42,10 +42,13 @@ public: void reset(const PGMap& o) { parent = o; } - const pool_stat_t& get_pool_stat(int poolid) const { + + const pool_stat_t* get_pool_stat(int poolid) const { auto i = parent.pg_pool_sum.find(poolid); - assert(i != parent.pg_pool_sum.end()); - return i->second; + if (i != parent.pg_pool_sum.end()) { + return &i->second; + } + return NULL; } }; -- 2.39.5