]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: make snap purge fail if removing a snap fails
authorJosh Durgin <josh.durgin@inktank.com>
Wed, 21 Nov 2012 21:24:24 +0000 (13:24 -0800)
committerJosh Durgin <josh.durgin@inktank.com>
Wed, 21 Nov 2012 21:27:27 +0000 (13:27 -0800)
Otherwise we report 100% removed when some may have failed.

Reported-by: Andrey Korolyov <andrey@xdel.ru>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
src/rbd.cc

index fa7648a2148152d08749c76e53fc97f674a4ef9d..09d506f1ef7b8454d0bd1b1dc1c610e9a5900028 100644 (file)
@@ -472,7 +472,11 @@ static int do_purge_snaps(librbd::Image& image)
   }
 
   for (size_t i = 0; i < snaps.size(); ++i) {
-    image.snap_remove(snaps[i].name.c_str());
+    r = image.snap_remove(snaps[i].name.c_str());
+    if (r < 0) {
+      pc.fail();
+      return r;
+    }
     pc.update_progress(i + 1, snaps.size());
   }