From: xie xingguo Date: Sat, 24 Jun 2017 07:38:49 +0000 (+0800) Subject: mon/OSDMonitor: fix wrong sanity check order for allow_ec_overwrites X-Git-Tag: v12.1.2~1^2~27^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dfcb403a00dec16aabaa5139d7f9cfea08515f06;p=ceph.git mon/OSDMonitor: fix wrong sanity check order for allow_ec_overwrites Signed-off-by: xie xingguo --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 6d9e7eac4a2..131588ef502 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -6021,6 +6021,12 @@ int OSDMonitor::prepare_command_pool_set(map &cmdmap, ss << "ec overwrites can only be enabled for an erasure coded pool"; return -EINVAL; } + stringstream err; + if (!g_conf->mon_debug_no_require_bluestore_for_ec_overwrites && + !is_pool_currently_all_bluestore(pool, p, &err)) { + ss << "pool must only be stored on bluestore for scrubbing to work: " << err.str(); + return -EINVAL; + } if (val == "true" || (interr.empty() && n == 1)) { p.flags |= pg_pool_t::FLAG_EC_OVERWRITES; } else if (val == "false" || (interr.empty() && n == 0)) { @@ -6030,12 +6036,6 @@ int OSDMonitor::prepare_command_pool_set(map &cmdmap, ss << "expecting value 'true', 'false', '0', or '1'"; return -EINVAL; } - stringstream err; - if (!g_conf->mon_debug_no_require_bluestore_for_ec_overwrites && - !is_pool_currently_all_bluestore(pool, p, &err)) { - ss << "pool must only be stored on bluestore for scrubbing to work: " << err.str(); - return -EINVAL; - } } else if (var == "target_max_objects") { if (interr.length()) { ss << "error parsing int '" << val << "': " << interr;