From c00e3933cf38844625741da3aeece38d7101735e Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Sat, 16 May 2015 13:19:22 +0300 Subject: [PATCH] OSDMonitor: fix prepare_pool_crush_ruleset() retval CrushWrapper::get_osd_pool_default_crush_replicated_ruleset() returns -1 on error. Returning -EPERM for "No suitable CRUSH ruleset exists" is wrong. Signed-off-by: Ilya Dryomov --- src/mon/OSDMonitor.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c3be47e75ba..1e8723d9336 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -4193,8 +4193,9 @@ int OSDMonitor::prepare_pool_crush_ruleset(const unsigned pool_type, *crush_ruleset = osdmap.crush->get_osd_pool_default_crush_replicated_ruleset(g_ceph_context); if (*crush_ruleset < 0) { // Errors may happen e.g. if no valid ruleset is available - *ss << "No suitable CRUSH ruleset exists"; - return *crush_ruleset; + *ss << "No suitable CRUSH ruleset exists, check " + << "'osd pool default crush *' config options"; + return -ENOENT; } } else { return get_crush_ruleset(ruleset_name, crush_ruleset, ss); -- 2.47.3