]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: print warning message if cache tier cache_mode is NONE 3879/head
authorJianpeng Ma <jianpeng.ma@intel.com>
Wed, 4 Mar 2015 03:40:45 +0000 (11:40 +0800)
committerSage Weil <sage@redhat.com>
Thu, 5 Mar 2015 01:18:08 +0000 (17:18 -0800)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/OSDMonitor.cc

index 71bea3f3976ff89a831cdd0e227be464bd597de2..3e82d5f15d67edb972f306a84d574a94eb5cf6c3 100644 (file)
@@ -6200,6 +6200,8 @@ done:
     }
     const pg_pool_t *p = osdmap.get_pg_pool(pool_id);
     assert(p);
+    const pg_pool_t *overlay_p = osdmap.get_pg_pool(overlaypool_id);
+    assert(overlay_p);
     if (p->tiers.count(overlaypool_id) == 0) {
       ss << "tier pool '" << overlaypoolstr << "' is not a tier of '" << poolstr << "'";
       err = -EINVAL;
@@ -6224,6 +6226,8 @@ done:
     np->write_tier = overlaypool_id;
     np->last_force_op_resend = pending_inc.epoch;
     ss << "overlay for '" << poolstr << "' is now (or already was) '" << overlaypoolstr << "'";
+    if (overlay_p->cache_mode == pg_pool_t::CACHEMODE_NONE)
+      ss <<" (WARNING: overlay pool cache_mode is still NONE)";
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
@@ -6370,6 +6374,13 @@ done:
     np->flags |= pg_pool_t::FLAG_INCOMPLETE_CLONES;
     ss << "set cache-mode for pool '" << poolstr
        << "' to " << pg_pool_t::get_cache_mode_name(mode);
+    if (mode == pg_pool_t::CACHEMODE_NONE) {
+      const pg_pool_t *base_pool = osdmap.get_pg_pool(np->tier_of);
+      assert(base_pool);
+      if (base_pool->read_tier == pool_id ||
+         base_pool->write_tier == pool_id)
+       ss <<" (WARNING: pool is still configured as read or write tier)";
+    }
     wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;