From: Patrick Donnelly Date: Tue, 30 Jan 2018 22:32:32 +0000 (-0800) Subject: mon: allow removal of tier of ec overwritable pool X-Git-Tag: v13.0.2~318^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d7f7000dd90c35d6689cf9eb1e2ecaea7f4c27fe;p=ceph.git mon: allow removal of tier of ec overwritable pool Fixes: http://tracker.ceph.com/issues/22754 Signed-off-by: Patrick Donnelly --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index b9be89d2e5b3..55eac2d66855 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -11336,10 +11336,13 @@ bool OSDMonitor::_check_remove_tier( // Apply CephFS-specific checks const FSMap &pending_fsmap = mon->mdsmon()->get_pending(); if (pending_fsmap.pool_in_use(base_pool_id)) { - if (base_pool->type != pg_pool_t::TYPE_REPLICATED) { - // If the underlying pool is erasure coded, we can't permit the - // removal of the replicated tier that CephFS relies on to access it - *ss << "pool '" << base_pool_name << "' is in use by CephFS via its tier"; + if (base_pool->is_erasure() && !base_pool->allows_ecoverwrites()) { + // If the underlying pool is erasure coded and does not allow EC + // overwrites, we can't permit the removal of the replicated tier that + // CephFS relies on to access it + *ss << "pool '" << base_pool_name << + "' does not allow EC overwrites and is in use by CephFS" + " via its tier"; *err = -EBUSY; return false; }