X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrbd%2Fobject_map%2FRequest.cc;fp=src%2Fceph%2Fsrc%2Flibrbd%2Fobject_map%2FRequest.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=82aaa7d199d644b6873732de870fbb65df80ffa4;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librbd/object_map/Request.cc b/src/ceph/src/librbd/object_map/Request.cc deleted file mode 100644 index 82aaa7d..0000000 --- a/src/ceph/src/librbd/object_map/Request.cc +++ /dev/null @@ -1,69 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include "librbd/object_map/Request.h" -#include "common/dout.h" -#include "common/errno.h" -#include "common/RWLock.h" -#include "librbd/ImageCtx.h" -#include "librbd/object_map/InvalidateRequest.h" - -#define dout_subsys ceph_subsys_rbd -#undef dout_prefix -#define dout_prefix *_dout << "librbd::object_map::Request: " - -namespace librbd { -namespace object_map { - -bool Request::should_complete(int r) { - CephContext *cct = m_image_ctx.cct; - ldout(cct, 20) << this << " should_complete: r=" << r << dendl; - - switch (m_state) - { - case STATE_REQUEST: - if (r < 0) { - lderr(cct) << "failed to update object map: " << cpp_strerror(r) - << dendl; - return invalidate(); - } - - finish_request(); - return true; - - case STATE_INVALIDATE: - ldout(cct, 20) << "INVALIDATE" << dendl; - if (r < 0) { - lderr(cct) << "failed to invalidate object map: " << cpp_strerror(r) - << dendl; - } - return true; - - default: - lderr(cct) << "invalid state: " << m_state << dendl; - assert(false); - break; - } - return false; -} - -bool Request::invalidate() { - bool flags_set; - int r = m_image_ctx.test_flags(RBD_FLAG_OBJECT_MAP_INVALID, &flags_set); - if (r == 0 && flags_set) { - return true; - } - - m_state = STATE_INVALIDATE; - - RWLock::RLocker owner_locker(m_image_ctx.owner_lock); - RWLock::WLocker snap_locker(m_image_ctx.snap_lock); - InvalidateRequest<> *req = new InvalidateRequest<>(m_image_ctx, m_snap_id, - true, - create_callback_context()); - req->send(); - return false; -} - -} // namespace object_map -} // namespace librbd