From: songweibin Date: Mon, 25 Feb 2019 06:59:25 +0000 (+0800) Subject: librbd: set *image_size to 0 when getting ENOENT in rbd_group_image_list() X-Git-Tag: v14.1.1~121^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F26622%2Fhead;p=ceph.git librbd: set *image_size to 0 when getting ENOENT in rbd_group_image_list() Fixes: http://tracker.ceph.com/issues/38468 Signed-off-by: songweibin --- diff --git a/src/librbd/librbd.cc b/src/librbd/librbd.cc index 3fa1bea1eef..a60af6b3290 100644 --- a/src/librbd/librbd.cc +++ b/src/librbd/librbd.cc @@ -5878,6 +5878,7 @@ extern "C" int rbd_group_image_list(rados_ioctx_t group_p, if (r == -ENOENT) { tracepoint(librbd, group_image_list_exit, 0); + *image_size = 0; return 0; } diff --git a/src/test/pybind/test_rbd.py b/src/test/pybind/test_rbd.py index 718bf4e786b..1035ae319db 100644 --- a/src/test/pybind/test_rbd.py +++ b/src/test/pybind/test_rbd.py @@ -2024,6 +2024,16 @@ class TestGroups(object): self.group.add_image(ioctx, image_name) eq([image_name], [img['name'] for img in self.group.list_images()]) + def test_group_image_list_move_to_trash(self): + eq([], list(self.group.list_images())) + with Image(ioctx, image_name) as image: + image_id = image.id() + self.group.add_image(ioctx, image_name) + eq([image_name], [img['name'] for img in self.group.list_images()]) + RBD().trash_move(ioctx, image_name, 0) + eq([], list(self.group.list_images())) + RBD().trash_restore(ioctx, image_id, image_name) + def test_group_image_many_images(self): eq([], list(self.group.list_images())) self.group.add_image(ioctx, image_name)