From 415ea77fdad016faf7da150630e933930c5ac4b6 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 16 Jun 2016 09:31:03 -0400 Subject: [PATCH] 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) --- src/librbd/internal.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 13682df4182ab..55036dd2958a4 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; -- 2.39.5