]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: fix potential assertion for object map invalidation 8865/head
authorrunsisi <runsisi@zte.com.cn>
Thu, 28 Apr 2016 01:05:33 +0000 (09:05 +0800)
committerAbhishek Varshney <abhishek.varshney@flipkart.com>
Mon, 2 May 2016 06:19:03 +0000 (11:49 +0530)
if update_flags fails we should not go any further, or the async request
will be removed from m_image_ctx.async_requests twice

Signed-off-by: runsisi <runsisi@zte.com.cn>
(cherry picked from commit dd0eb719a50e9fb24eca5a840c2e8adb53be41b2)

src/librbd/object_map/InvalidateRequest.cc

index 3566fdd99a7a1385129a931beef6d0b3c7b8add3..41ef46cdf586adbdd27e31994ad6e8c1730eafcf 100644 (file)
@@ -47,6 +47,7 @@ void InvalidateRequest<I>::send() {
   r = image_ctx.update_flags(m_snap_id, flags, true);
   if (r < 0) {
     this->async_complete(r);
+    return;
   }
 
   // do not update on-disk flags if not image owner