From: John Spray Date: Tue, 15 Sep 2015 21:11:20 +0000 (+0100) Subject: osd: permit MDS to send writes on full pools X-Git-Tag: v9.1.0~100^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=412e412aa6a85071946b4f0b83751c0421c52365;p=ceph.git osd: permit MDS to send writes on full pools Same behaviour as the global full flag, for the per-pool full flag. The FS was broken by 67de12bf, which added the pool flag handling. Fixes: #12971 Signed-off-by: John Spray --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 46514f354c0..f0ace3f9698 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -8092,8 +8092,8 @@ void OSD::handle_op(OpRequestRef& op, OSDMapRef& osdmap) } // pool is full ? map &pool_last_map_marked_full = superblock.pool_last_map_marked_full; - if (pi->has_flag(pg_pool_t::FLAG_FULL) || - (pool_last_map_marked_full.count(pool) && (m->get_map_epoch() < pool_last_map_marked_full[pool]))) { + if ((pi->has_flag(pg_pool_t::FLAG_FULL) || + (pool_last_map_marked_full.count(pool) && (m->get_map_epoch() < pool_last_map_marked_full[pool]))) && !m->get_source().is_mds()) { return; }