X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrbd%2Fexclusive_lock%2FPreAcquireRequest.cc;fp=src%2Fceph%2Fsrc%2Flibrbd%2Fexclusive_lock%2FPreAcquireRequest.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=663b82bd8cc374892c6e2116b5d9f9d71cd83a53;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librbd/exclusive_lock/PreAcquireRequest.cc b/src/ceph/src/librbd/exclusive_lock/PreAcquireRequest.cc deleted file mode 100644 index 663b82b..0000000 --- a/src/ceph/src/librbd/exclusive_lock/PreAcquireRequest.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include "librbd/exclusive_lock/PreAcquireRequest.h" -#include "librbd/Utils.h" -#include "common/dout.h" -#include "common/errno.h" -#include "librbd/ImageCtx.h" -#include "librbd/ImageWatcher.h" -#include "librbd/ImageState.h" - -#define dout_subsys ceph_subsys_rbd -#undef dout_prefix -#define dout_prefix *_dout << "librbd::exclusive_lock::PreAcquireRequest: " \ - << this << " " << __func__ << ": " - -namespace librbd { -namespace exclusive_lock { - -using util::create_async_context_callback; -using util::create_context_callback; -using util::create_rados_callback; - -template -PreAcquireRequest* PreAcquireRequest::create(I &image_ctx, - Context *on_finish) { - return new PreAcquireRequest(image_ctx, on_finish); -} - -template -PreAcquireRequest::PreAcquireRequest(I &image_ctx, Context *on_finish) - : m_image_ctx(image_ctx), - m_on_finish(create_async_context_callback(image_ctx, on_finish)), - m_error_result(0) { -} - -template -PreAcquireRequest::~PreAcquireRequest() { -} - -template -void PreAcquireRequest::send() { - send_prepare_lock(); -} - -template -void PreAcquireRequest::send_prepare_lock() { - CephContext *cct = m_image_ctx.cct; - ldout(cct, 10) << dendl; - - // acquire the lock if the image is not busy performing other actions - Context *ctx = create_context_callback< - PreAcquireRequest, &PreAcquireRequest::handle_prepare_lock>(this); - m_image_ctx.state->prepare_lock(ctx); -} - -template -void PreAcquireRequest::handle_prepare_lock(int r) { - CephContext *cct = m_image_ctx.cct; - ldout(cct, 10) << "r=" << r << dendl; - - send_flush_notifies(); -} - -template -void PreAcquireRequest::send_flush_notifies() { - CephContext *cct = m_image_ctx.cct; - ldout(cct, 10) << dendl; - - using klass = PreAcquireRequest; - Context *ctx = create_context_callback( - this); - m_image_ctx.image_watcher->flush(ctx); -} - -template -void PreAcquireRequest::handle_flush_notifies(int r) { - CephContext *cct = m_image_ctx.cct; - ldout(cct, 10) << dendl; - - assert(r == 0); - finish(); -} - -template -void PreAcquireRequest::finish() { - m_on_finish->complete(m_error_result); - delete this; -} - -} // namespace exclusive_lock -} // namespace librbd - -template class librbd::exclusive_lock::PreAcquireRequest;