]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: set *image_size to 0 when getting ENOENT in rbd_group_image_list() 26622/head
authorsongweibin <song.weibin@zte.com.cn>
Mon, 25 Feb 2019 06:59:25 +0000 (14:59 +0800)
committersongweibin <song.weibin@zte.com.cn>
Tue, 26 Feb 2019 07:07:13 +0000 (15:07 +0800)
Fixes: http://tracker.ceph.com/issues/38468
Signed-off-by: songweibin <song.weibin@zte.com.cn>
src/librbd/librbd.cc
src/test/pybind/test_rbd.py

index 3fa1bea1eef39ae3bdbc3868f4092abf66437ea3..a60af6b32907e5dd4dd543e046c18fb5a06a1895 100644 (file)
@@ -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;
   }
 
index 718bf4e786b374bb533619b6d92551bf119eb783..1035ae319db510d330b9a159000035955c757950 100644 (file)
@@ -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)