]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rados.py: fix create_pool() 210/head
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Fri, 5 Apr 2013 13:55:34 +0000 (15:55 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 9 Apr 2013 09:47:27 +0000 (11:47 +0200)
Call rados_pool_create_with_all() only if auid and crush_rule
are set properly. In case only crush_rule is set call
rados_pool_create_with_crush_rule() on librados, not the other
way around.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 94a1f25e7230a700f06a2699c9c2b99ec1bf7144)

src/pybind/rados.py

index 09af5ac2aec1827d8fbb401dcd586c6b1560a325..3d4e755e85289df80922dbb5188c8def623ddea6 100755 (executable)
@@ -209,15 +209,16 @@ Rados object in state %s." % (self.state))
                 ret = self.librados.rados_pool_create(
                             self.cluster, c_char_p(pool_name))
             else:
-                ret = self.librados.rados_pool_create_with_all(
-                            self.cluster, c_char_p(pool_name), c_uint64(auid),
-                            c_ubyte(crush_rule))
+                ret = self.librados.rados_pool_create_with_crush_rule(
+                            self.cluster, c_char_p(pool_name), c_ubyte(crush_rule))
+
         elif (crush_rule == None):
             ret = self.librados.rados_pool_create_with_auid(
                         self.cluster, c_char_p(pool_name), c_uint64(auid))
         else:
-            ret = self.librados.rados_pool_create_with_crush_rule(
-                        self.cluster, c_char_p(pool_name), c_ubyte(crush_rule))
+            ret = self.librados.rados_pool_create_with_all(
+                        self.cluster, c_char_p(pool_name), c_uint64(auid),
+                        c_ubyte(crush_rule))
         if ret < 0:
             raise make_ex(ret, "error creating pool '%s'" % pool_name)