From: Dan van der Ster Date: Tue, 25 Feb 2014 10:47:43 +0000 (+0100) Subject: rados.py: add aio_remove X-Git-Tag: v0.79~119^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=891343a79d5be63d642ffd323ffdd3e260e87388;p=ceph.git rados.py: add aio_remove Add aio_remove to the Python wrapper. Signed-off-by: Dan van der Ster --- diff --git a/src/pybind/rados.py b/src/pybind/rados.py index 0989ebb2e7e7..0ee8d72e0548 100644 --- a/src/pybind/rados.py +++ b/src/pybind/rados.py @@ -1100,6 +1100,30 @@ class Ioctx(object): raise make_ex(ret, "error reading %s" % object_name) return completion + def aio_remove(self, object_name, oncomplete=None, onsafe=None): + """ + Asychronously remove an object + + :param object_name: name of the object to remove + :type object_name: str + :param oncomplete: what to do when the remove is safe and complete in memory + on all replicas + :type oncomplete: completion + :param onsafe: what to do when the remove is safe and complete on storage + on all replicas + :type onsafe: completion + + :raises: :class:`Error` + :returns: completion object + """ + completion = self.__get_completion(oncomplete, onsafe) + ret = run_in_thread(self.librados.rados_aio_remove, + (self.io, c_char_p(object_name), + completion.rados_comp)) + if ret < 0: + raise make_ex(ret, "error removing %s" % object_name) + return completion + def require_ioctx_open(self): """ Checks if the rados.Ioctx object state is 'open'