From b93be8c612f74616f93dc7fc713df8b925234a78 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Thu, 17 Feb 2011 10:24:22 -0800 Subject: [PATCH] pybind/rados: implement Pool::change_auid Signed-off-by: Colin McCabe --- src/pybind/rados.py | 11 +++++++++++ src/test/pybind-test.py | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/pybind/rados.py b/src/pybind/rados.py index 59d027335890b..c29187f367cad 100755 --- a/src/pybind/rados.py +++ b/src/pybind/rados.py @@ -7,6 +7,9 @@ import ctypes import errno import time +ANONYMOUS_AUID = 0xffffffffffffffff +ADMIN_AUID = 0 + class Error(Exception): def __init__(self, code): self.code = code @@ -212,6 +215,14 @@ class Pool(object): if self.state != "open": raise PoolStateError("The pool is %s" % self.state) + def change_auid(self, auid): + self.require_pool_open() + ret = self.librados.rados_change_pool_auid(self.pool_id,\ + ctypes.c_int64(auid)) + if ret < 0: + raise make_ex(ret, "error changing auid '%s' to %lld" %\ + (pool_name, auid)) + def delete(self): self.require_pool_open() ret = self.librados.rados_delete_pool(self.pool_id) diff --git a/src/test/pybind-test.py b/src/test/pybind-test.py index ea48fb0ad91f3..120a330d6fe2b 100755 --- a/src/test/pybind-test.py +++ b/src/test/pybind-test.py @@ -2,7 +2,6 @@ import rados -# Create and destroy a pool r = rados.Rados() v = r.version() print "rados version %s" % str(v) @@ -17,6 +16,11 @@ if r.pool_exists("foo2") != True: print "opening pool foo2" foo2_pool = r.open_pool("foo2") +# give this pool to the anonymous AUID +foo2_pool.change_auid(rados.ANONYMOUS_AUID) +# well, actually, we want it back. +foo2_pool.change_auid(rados.ADMIN_AUID) +# now delete print "deleting pool foo2" foo2_pool.delete() -- 2.39.5