X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrbd%2Fobject_map%2FLockRequest.h;fp=src%2Fceph%2Fsrc%2Flibrbd%2Fobject_map%2FLockRequest.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=0333548e65167f9d4abc848de897b3ba38666ddc;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librbd/object_map/LockRequest.h b/src/ceph/src/librbd/object_map/LockRequest.h deleted file mode 100644 index 0333548..0000000 --- a/src/ceph/src/librbd/object_map/LockRequest.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef CEPH_LIBRBD_OBJECT_MAP_LOCK_REQUEST_H -#define CEPH_LIBRBD_OBJECT_MAP_LOCK_REQUEST_H - -#include "include/buffer.h" -#include "cls/lock/cls_lock_types.h" -#include - -class Context; - -namespace librbd { - -class ImageCtx; - -namespace object_map { - -template -class LockRequest { -public: - static LockRequest* create(ImageCtxT &image_ctx, Context *on_finish) { - return new LockRequest(image_ctx, on_finish); - } - LockRequest(ImageCtxT &image_ctx, Context *on_finish); - - void send(); - -private: - /** - * @verbatim - * - * /------------------------------------- BREAK_LOCKS * * * - * | | ^ * - * | | | * - * | | | * - * | v (EBUSY && !broke_lock) | * - * \---------> LOCK_OBJECT_MAP * * * * * * * * * * * > GET_LOCK_INFO * * - * | * ^ * * - * | * * * * - * | * * (ENOENT) * * - * | * * * * * * * * * * * * * * * * * * - * | * * - * | * (other errors) * - * | * * - * v v (other errors) * - * < * * * * * * * * * * * * * * * * * * * * * * * * - * - * @endverbatim - */ - - ImageCtxT &m_image_ctx; - Context *m_on_finish; - - bool m_broke_lock; - std::map m_lockers; - bufferlist m_out_bl; - - void send_lock(); - Context *handle_lock(int *ret_val); - - void send_get_lock_info(); - Context *handle_get_lock_info(int *ret_val); - - void send_break_locks(); - Context *handle_break_locks(int *ret_val); -}; - -} // namespace object_map -} // namespace librbd - -extern template class librbd::object_map::LockRequest; - -#endif // CEPH_LIBRBD_OBJECT_MAP_LOCK_REQUEST_H