From: runsisi Date: Thu, 28 Apr 2016 01:05:33 +0000 (+0800) Subject: librbd: fix potential assertion for object map invalidation X-Git-Tag: v11.0.0~809^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dd0eb719a50e9fb24eca5a840c2e8adb53be41b2;p=ceph.git librbd: fix potential assertion for object map invalidation 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 --- diff --git a/src/librbd/object_map/InvalidateRequest.cc b/src/librbd/object_map/InvalidateRequest.cc index 3566fdd99a7a..41ef46cdf586 100644 --- a/src/librbd/object_map/InvalidateRequest.cc +++ b/src/librbd/object_map/InvalidateRequest.cc @@ -47,6 +47,7 @@ void InvalidateRequest::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