From: runsisi Date: Fri, 21 Apr 2017 08:59:21 +0000 (+0800) Subject: pybind/rbd: add support for image create timestamp X-Git-Tag: v12.1.0~15^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1d838bf9da564e9557a8a56e432dd9e81b2f6830;p=ceph.git pybind/rbd: add support for image create timestamp Signed-off-by: runsisi --- diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx index ec090dba8619..8de6b3cab844 100644 --- a/src/pybind/rbd/rbd.pyx +++ b/src/pybind/rbd/rbd.pyx @@ -228,6 +228,7 @@ cdef extern from "rbd/librbd.h" nogil: uint8_t enabled) int rbd_get_stripe_unit(rbd_image_t image, uint64_t *stripe_unit) int rbd_get_stripe_count(rbd_image_t image, uint64_t *stripe_count) + int rbd_get_create_timestamp(rbd_image_t image, timespec *timestamp) int rbd_get_overlap(rbd_image_t image, uint64_t *overlap) int rbd_get_id(rbd_image_t image, char *id, size_t id_len) int rbd_get_block_name_prefix(rbd_image_t image, char *prefix, @@ -2166,6 +2167,18 @@ written." % (self.name, ret, length)) raise make_ex(ret, 'error getting stripe count for image %s' % (self.name)) return stripe_count + def create_timestamp(self): + """ + Returns the create timestamp for the image. + """ + cdef: + timespec timestamp + with nogil: + ret = rbd_get_create_timestamp(self.image, ×tamp) + if ret != 0: + raise make_ex(ret, 'error getting create timestamp for image: %s' % (self.name)) + return datetime.fromtimestamp(timestamp.tv_sec) + def flatten(self): """ Flatten clone image (copy all blocks from parent to child)