From: Jason Dillaman Date: Fri, 26 Jun 2015 13:59:36 +0000 (-0400) Subject: librbd: assertion failure race condition if watch disconnected X-Git-Tag: v9.0.2~6^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F5090%2Fhead;p=ceph.git librbd: assertion failure race condition if watch disconnected It's possible for librbd's watch of the header object to be reset by connection issues just prior to the image being removed. This will causes an assertion failure which assumes at least one watcher on the image. Fixes: #12176 Backport: hammer, firefly Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 44ecf54fcb0..9316e473a25 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -1964,7 +1964,6 @@ reprotect_and_return_err: close_image(ictx); return -EBUSY; } - assert(watchers.size() == 1); trim_image(ictx, 0, prog_ctx);