From: Jason Dillaman Date: Thu, 16 Jun 2016 13:31:03 +0000 (-0400) Subject: librbd: ignore ENOENT error when removing image from mirror directory X-Git-Tag: v10.2.3~89^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=415ea77fdad016faf7da150630e933930c5ac4b6;p=ceph.git librbd: ignore ENOENT error when removing image from mirror directory Fixes: http://tracker.ceph.com/issues/16348 Signed-off-by: Jason Dillaman (cherry picked from commit 4255afd34927ad6c303074aa6814538a8b5ae96e) --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 13682df4182a..55036dd2958a 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -395,7 +395,7 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force, if (remove) { r = cls_client::mirror_image_remove(&ictx->md_ctx, ictx->id); - if (r < 0) { + if (r < 0 && r != -ENOENT) { lderr(cct) << "failed to remove image from mirroring directory: " << cpp_strerror(r) << dendl; return r; @@ -1827,7 +1827,7 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force, } } else if (mirror_mode == RBD_MIRROR_MODE_POOL) { r = cls_client::mirror_image_remove(&ictx->md_ctx, ictx->id); - if (r < 0) { + if (r < 0 && r != -ENOENT) { lderr(cct) << "failed to remove image from mirroring directory: " << cpp_strerror(r) << dendl; return r;