From 4ebc32f37a4860bdc676491bf8b042c18fd619cf Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Wed, 29 Jan 2014 16:12:01 +0200 Subject: [PATCH] rbd: don't forget to call close_image() if remove_child() fails close_image() among other things unregisters a watcher that's been registered by open_image(). Even though it'll timeout in 30 or so seconds, it's not nice now that we check for watchers before starting the removal process. Signed-off-by: Ilya Dryomov --- src/librbd/internal.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 2cd6b8d8565b7..61e910b07ed28 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -1391,6 +1391,7 @@ reprotect_and_return_err: parent_info.spec, id); if (r < 0 && r != -ENOENT) { lderr(cct) << "error removing child from children list" << dendl; + close_image(ictx); return r; } close_image(ictx); -- 2.39.5