From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- src/tools/rbd_mirror/Threads.h | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/tools/rbd_mirror/Threads.h (limited to 'src/tools/rbd_mirror/Threads.h') diff --git a/src/tools/rbd_mirror/Threads.h b/src/tools/rbd_mirror/Threads.h new file mode 100644 index 000000000..35c0b0f1c --- /dev/null +++ b/src/tools/rbd_mirror/Threads.h @@ -0,0 +1,45 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +#ifndef CEPH_RBD_MIRROR_THREADS_H +#define CEPH_RBD_MIRROR_THREADS_H + +#include "include/common_fwd.h" +#include "include/rados/librados_fwd.hpp" +#include "common/ceph_mutex.h" +#include "common/Timer.h" +#include + +class ThreadPool; + +namespace librbd { +struct AsioEngine; +struct ImageCtx; +namespace asio { struct ContextWQ; } +} // namespace librbd + +namespace rbd { +namespace mirror { + +template +class Threads { +public: + librbd::AsioEngine* asio_engine = nullptr; + librbd::asio::ContextWQ* work_queue = nullptr; + + SafeTimer *timer = nullptr; + ceph::mutex timer_lock = ceph::make_mutex("Threads::timer_lock"); + + explicit Threads(std::shared_ptr& rados); + Threads(const Threads&) = delete; + Threads& operator=(const Threads&) = delete; + + ~Threads(); +}; + +} // namespace mirror +} // namespace rbd + +extern template class rbd::mirror::Threads; + +#endif // CEPH_RBD_MIRROR_THREADS_H -- cgit v1.2.3