remove ceph code
[stor4nfv.git] / src / ceph / src / librbd / image / RemoveRequest.h
diff --git a/src/ceph/src/librbd/image/RemoveRequest.h b/src/ceph/src/librbd/image/RemoveRequest.h
deleted file mode 100644 (file)
index 05adeaa..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#ifndef CEPH_LIBRBD_IMAGE_REMOVE_REQUEST_H
-#define CEPH_LIBRBD_IMAGE_REMOVE_REQUEST_H
-
-#include "librbd/image/TypeTraits.h"
-
-class Context;
-class ContextWQ;
-class SafeTimer;
-
-namespace librbd {
-
-class ImageCtx;
-class ProgressContext;
-
-namespace image {
-
-template<typename ImageCtxT = ImageCtx>
-class RemoveRequest {
-private:
-  // mock unit testing support
-  typedef ::librbd::image::TypeTraits<ImageCtxT> TypeTraits;
-  typedef typename TypeTraits::ContextWQ ContextWQ;
-public:
-  static RemoveRequest *create(librados::IoCtx &ioctx,
-                               const std::string &image_name,
-                               const std::string &image_id,
-                               bool force, bool from_trash_remove,
-                               ProgressContext &prog_ctx,
-                               ContextWQ *op_work_queue,
-                               Context *on_finish) {
-    return new RemoveRequest(ioctx, image_name, image_id, force,
-                             from_trash_remove, prog_ctx, op_work_queue,
-                             on_finish);
-  }
-
-  void send();
-
-private:
-  /**
-   * @verbatim
-   *
-   *                                  <start>
-   *                                     |
-   *                                     v
-   *                                OPEN IMAGE------------------\
-   *                                     |                      |
-   *                                     v                      |
-   *      error                   CHECK EXCLUSIVE LOCK---\     |
-   * /-------<-------\                   |                |     |
-   * |               |                   |            (acquired)|
-   * |               |                   v                |     |
-   * |               |            AQUIRE EXCLUSIVE LOCK   |     |
-   * |               |               /   |                |     |
-   * |               |------<-------/    |                |     |
-   * |               |                   v                |     |
-   * |               |            VALIDATE IMAGE REMOVAL<-/     |
-   * |               |                /  |                      v
-   * |               \------<--------/   |                             |
-   * |                                   v                      |
-   * |                              TRIM IMAGE                  |
-   * |                                   |                      |
-   * v                                   v                      |
-   * |                            REMOVE CHILD                  |
-   * |                                   |                      |
-   * |                                   v                      v
-   * \--------->------------------>CLOSE IMAGE                  |
-   *                                     |                      |
-   *      error                         v                      |
-   * /------<--------\              REMOVE HEADER<--------------/
-   * |                      |                /  |
-   * |              |-------<-------/   |
-   * |               |                   v
-   * |               |              REMOVE JOURNAL
-   * |                      |                /  |
-   * |              |-------<-------/   |
-   * |               |                   v
-   * v              ^          REMOVE OBJECTMAP
-   * |                      |                /  |
-   * |              |-------<-------/   |
-   * |               |                   v
-   * |              |            REMOVE MIRROR IMAGE
-   * |                      |                /  |
-   * |              |-------<-------/   |
-   * |               |                   v
-   * |               |            REMOVE ID OBJECT
-   * |                      |                /  |
-   * |              |-------<-------/   |
-   * |               |                   v
-   * |               |              REMOVE IMAGE
-   * |                      |                /  |
-   * |              \-------<-------/   |
-   * |                                   v
-   * \------------------>------------<finish>
-   *
-   * @endverbatim
-   */
-
-  RemoveRequest(librados::IoCtx &ioctx, const std::string &image_name,
-                const std::string &image_id, bool force, bool from_trash_remove,
-                ProgressContext &prog_ctx, ContextWQ *op_work_queue,
-                Context *on_finish);
-
-  librados::IoCtx &m_ioctx;
-  std::string m_image_name;
-  std::string m_image_id;
-  bool m_force;
-  bool m_from_trash_remove;
-  ProgressContext &m_prog_ctx;
-  ContextWQ *m_op_work_queue;
-  Context *m_on_finish;
-
-  CephContext *m_cct;
-  std::string m_header_oid;
-  bool m_old_format = false;
-  bool m_unknown_format = true;
-  ImageCtxT *m_image_ctx;
-
-  decltype(m_image_ctx->exclusive_lock) m_exclusive_lock = nullptr;
-
-  int m_ret_val = 0;
-  bufferlist m_out_bl;
-  std::list<obj_watch_t> m_watchers;
-  std::list<obj_watch_t> m_mirror_watchers;
-
-  void open_image();
-  void handle_open_image(int r);
-
-  void send_journal_remove();
-  void handle_journal_remove(int r);
-
-  void send_object_map_remove();
-  void handle_object_map_remove(int r);
-
-  void mirror_image_remove();
-  void handle_mirror_image_remove(int r);
-
-  void check_exclusive_lock();
-
-  void acquire_exclusive_lock();
-  void handle_exclusive_lock(int r);
-  void handle_exclusive_lock_force(int r);
-
-  void validate_image_removal();
-  void check_image_snaps();
-
-  void list_image_watchers();
-  void handle_list_image_watchers(int r);
-
-  void get_mirror_image();
-  void handle_get_mirror_image(int r);
-
-  void list_mirror_watchers();
-  void handle_list_mirror_watchers(int r);
-
-  void check_image_watchers();
-
-  void check_group();
-  void handle_check_group(int r);
-
-  void trim_image();
-  void handle_trim_image(int r);
-
-  void remove_child();
-  void handle_remove_child(int r);
-
-  void send_disable_mirror();
-  void handle_disable_mirror(int r);
-
-  void send_close_image(int r);
-  void handle_send_close_image(int r);
-
-  void remove_header();
-  void handle_remove_header(int r);
-
-  void remove_header_v2();
-  void handle_remove_header_v2(int r);
-
-  void remove_image();
-
-  void remove_v1_image();
-  void handle_remove_v1_image(int r);
-
-  void remove_v2_image();
-
-  void dir_get_image_id();
-  void handle_dir_get_image_id(int r);
-
-  void dir_get_image_name();
-  void handle_dir_get_image_name(int r);
-
-  void remove_id_object();
-  void handle_remove_id_object(int r);
-
-  void dir_remove_image();
-  void handle_dir_remove_image(int r);
-
-  void finish(int r);
-};
-
-} // namespace image
-} // namespace librbd
-
-extern template class librbd::image::RemoveRequest<librbd::ImageCtx>;
-
-#endif // CEPH_LIBRBD_IMAGE_REMOVE_REQUEST_H