#include "librbd/image/DetachChildRequest.h"
#include "common/dout.h"
#include "common/errno.h"
-#include "common/WorkQueue.h"
#include "cls/rbd/cls_rbd_client.h"
#include "librbd/ExclusiveLock.h"
#include "librbd/ImageCtx.h"
#include "librbd/ImageState.h"
#include "librbd/Operations.h"
#include "librbd/Utils.h"
+#include "librbd/asio/ContextWQ.h"
#include "librbd/journal/DisabledPolicy.h"
#include "librbd/trash/RemoveRequest.h"
#include <string>
m_parent_spec.pool_id,
m_parent_spec.pool_namespace, &m_parent_io_ctx);
if (r < 0) {
+ if (r == -ENOENT) {
+ r = 0;
+ }
finish(r);
return;
}
}
}
- if (r < 0) {
+ if (r < 0 && r != -ENOENT) {
ldout(cct, 5) << "failed to retrieve snapshot: " << cpp_strerror(r)
<< dendl;
}
if (r < 0) {
ldout(cct, 5) << "failed to open parent for read/write: "
<< cpp_strerror(r) << dendl;
- m_parent_image_ctx->destroy();
m_parent_image_ctx = nullptr;
finish(0);
return;
<< dendl;
}
- m_parent_image_ctx->destroy();
m_parent_image_ctx = nullptr;
finish(0);
}