]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OSDMonitor: fix prepare_pool_crush_ruleset() retval
authorIlya Dryomov <idryomov@gmail.com>
Sat, 16 May 2015 10:19:22 +0000 (13:19 +0300)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 27 May 2015 12:06:37 +0000 (15:06 +0300)
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 <idryomov@gmail.com>
src/mon/OSDMonitor.cc

index c3be47e75baa97b95ea5855dac8ec193f2a18ed0..1e8723d9336e0a5cbdf0de33a0f720a303102783 100644 (file)
@@ -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);