]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
librbd: fix potential assertion for object map invalidation
authorrunsisi <runsisi@zte.com.cn>
Thu, 28 Apr 2016 01:05:33 +0000 (09:05 +0800)
committerrunsisi <runsisi@zte.com.cn>
Thu, 28 Apr 2016 01:05:33 +0000 (09:05 +0800)
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>
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