diff options
author | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-04-05 15:55:34 +0200 |
---|---|---|
committer | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-04-07 18:31:15 +0200 |
commit | 94a1f25e7230a700f06a2699c9c2b99ec1bf7144 (patch) | |
tree | d2fa22971ca2aca68cc6243514c7bac06210467b | |
parent | 9adf2e92b5a45ee3feec0431d7109f3ce2b188d9 (diff) | |
download | ceph-94a1f25e7230a700f06a2699c9c2b99ec1bf7144.tar.gz |
rados.py: fix create_pool()
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>
-rw-r--r-- | src/pybind/rados.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/pybind/rados.py b/src/pybind/rados.py index 1d5f61bdb4a..f981a94dc9d 100644 --- a/src/pybind/rados.py +++ b/src/pybind/rados.py @@ -316,15 +316,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) |