From 6f9c3aa3600c6b420505742f54eb260c98214e59 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Wed, 18 Dec 2019 20:41:52 -0500 Subject: [PATCH] rbd-mirror: ensure mirror status updater does not ping on namespaces The ping will create a TX-only peer in the namespace but we only track peers in the default namespace. Signed-off-by: Jason Dillaman --- src/tools/rbd_mirror/NamespaceReplayer.cc | 8 +++++++- src/tools/rbd_mirror/NamespaceReplayer.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tools/rbd_mirror/NamespaceReplayer.cc b/src/tools/rbd_mirror/NamespaceReplayer.cc index ec4d1006757..d89b9d27d10 100644 --- a/src/tools/rbd_mirror/NamespaceReplayer.cc +++ b/src/tools/rbd_mirror/NamespaceReplayer.cc @@ -43,6 +43,7 @@ NamespaceReplayer::NamespaceReplayer( Throttler *image_sync_throttler, Throttler *image_deletion_throttler, ServiceDaemon *service_daemon, journal::CacheManagerHandler *cache_manager_handler) : + m_namespace_name(name), m_local_mirror_uuid(local_mirror_uuid), m_remote_mirror_uuid(remote_mirror_uuid), m_local_site_name(local_site_name), @@ -297,6 +298,11 @@ void NamespaceReplayer::init_remote_status_updater() { ceph_assert(ceph_mutex_is_locked(m_lock)); ceph_assert(!m_remote_status_updater); + std::string local_site_name; + if (m_namespace_name.empty()) { + local_site_name = m_local_site_name; + } + librados::Rados rados(m_local_io_ctx); std::string local_fsid; int r = rados.cluster_fsid(&local_fsid); @@ -308,7 +314,7 @@ void NamespaceReplayer::init_remote_status_updater() { } m_remote_status_updater.reset(MirrorStatusUpdater::create( - m_remote_io_ctx, m_threads, m_local_site_name, local_fsid)); + m_remote_io_ctx, m_threads, local_site_name, local_fsid)); auto ctx = create_context_callback< NamespaceReplayer, &NamespaceReplayer::handle_init_remote_status_updater>(this); diff --git a/src/tools/rbd_mirror/NamespaceReplayer.h b/src/tools/rbd_mirror/NamespaceReplayer.h index 3773bbd5758..53ae8c38811 100644 --- a/src/tools/rbd_mirror/NamespaceReplayer.h +++ b/src/tools/rbd_mirror/NamespaceReplayer.h @@ -260,6 +260,7 @@ private: const std::string &instance_id, Context* on_finish); + std::string m_namespace_name; librados::IoCtx m_local_io_ctx; librados::IoCtx m_remote_io_ctx; std::string m_local_mirror_uuid; -- 2.39.5