X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftools%2Frbd_mirror%2FMirror.h;fp=src%2Fceph%2Fsrc%2Ftools%2Frbd_mirror%2FMirror.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=92f7eb4508a7c4429fe1968ba198efbb6835f177;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/tools/rbd_mirror/Mirror.h b/src/ceph/src/tools/rbd_mirror/Mirror.h deleted file mode 100644 index 92f7eb4..0000000 --- a/src/ceph/src/tools/rbd_mirror/Mirror.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef CEPH_RBD_MIRROR_H -#define CEPH_RBD_MIRROR_H - -#include "common/ceph_context.h" -#include "common/Mutex.h" -#include "include/rados/librados.hpp" -#include "ClusterWatcher.h" -#include "PoolReplayer.h" -#include "ImageDeleter.h" -#include "types.h" - -#include -#include -#include -#include - -namespace librbd { struct ImageCtx; } - -namespace rbd { -namespace mirror { - -template struct ServiceDaemon; -template struct Threads; -class MirrorAdminSocketHook; - -/** - * Contains the main loop and overall state for rbd-mirror. - * - * Sets up mirroring, and coordinates between noticing config - * changes and applying them. - */ -class Mirror { -public: - Mirror(CephContext *cct, const std::vector &args); - Mirror(const Mirror&) = delete; - Mirror& operator=(const Mirror&) = delete; - ~Mirror(); - - int init(); - void run(); - void handle_signal(int signum); - - void print_status(Formatter *f, stringstream *ss); - void start(); - void stop(); - void restart(); - void flush(); - void release_leader(); - -private: - typedef ClusterWatcher::PoolPeers PoolPeers; - typedef std::pair PoolPeer; - - void update_pool_replayers(const PoolPeers &pool_peers); - - CephContext *m_cct; - std::vector m_args; - Threads *m_threads = nullptr; - Mutex m_lock; - Cond m_cond; - RadosRef m_local; - std::unique_ptr> m_service_daemon; - - // monitor local cluster for config changes in peers - std::unique_ptr m_local_cluster_watcher; - std::unique_ptr> m_image_deleter; - std::map > m_pool_replayers; - std::atomic m_stopping = { false }; - bool m_manual_stop = false; - MirrorAdminSocketHook *m_asok_hook; -}; - -} // namespace mirror -} // namespace rbd - -#endif // CEPH_RBD_MIRROR_H