From: Sage Weil Date: Thu, 6 Jul 2017 18:58:37 +0000 (-0400) Subject: mon/OSDMonitor: do not allow crush device classes until luminous X-Git-Tag: v12.1.1~136^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F16188%2Fhead;p=ceph.git mon/OSDMonitor: do not allow crush device classes until luminous Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 405c05a8ee06..032a42bb7e02 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -7171,7 +7171,12 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, err = -EINVAL; // no value! goto reply; } - + if (osdmap.require_osd_release < CEPH_RELEASE_LUMINOUS) { + ss << "you must complete the upgrade and set require_osd_release =" + << "luminous before using crush device classes"; + err = -EPERM; + goto reply; + } if (!_have_pending_crush() && _get_stable_crush().class_exists(device_class)) { ss << "class '" << device_class << "' already exists"; @@ -7200,6 +7205,12 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, err = -EINVAL; // no value! goto reply; } + if (osdmap.require_osd_release < CEPH_RELEASE_LUMINOUS) { + ss << "you must complete the upgrade and set require_osd_release =" + << "luminous before using crush device classes"; + err = -EPERM; + goto reply; + } CrushWrapper newcrush; _get_pending_crush(newcrush); @@ -7237,6 +7248,12 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, err = -EINVAL; goto reply; } + if (osdmap.require_osd_release < CEPH_RELEASE_LUMINOUS) { + ss << "you must complete the upgrade and set require_osd_release =" + << "luminous before using crush device classes"; + err = -EPERM; + goto reply; + } if (!cmd_getval(g_ceph_context, cmdmap, "dstname", dstname)) { err = -EINVAL;