From a1c85e219fd7464c7f3f901602e025ea39077f77 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 6 Jul 2017 14:58:37 -0400 Subject: [PATCH] mon/OSDMonitor: do not allow crush device classes until luminous Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 405c05a8ee0..032a42bb7e0 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; -- 2.47.3