]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: ensure mirror status updater does not ping on namespaces
authorJason Dillaman <dillaman@redhat.com>
Thu, 19 Dec 2019 01:41:52 +0000 (20:41 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 19 Dec 2019 01:41:52 +0000 (20:41 -0500)
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 <dillaman@redhat.com>
src/tools/rbd_mirror/NamespaceReplayer.cc
src/tools/rbd_mirror/NamespaceReplayer.h

index ec4d10067574d76adfa1472fad3f052b2c755e17..d89b9d27d10cb1e3e6e3ffdbc1722f37309c3e22 100644 (file)
@@ -43,6 +43,7 @@ NamespaceReplayer<I>::NamespaceReplayer(
     Throttler<I> *image_sync_throttler, Throttler<I> *image_deletion_throttler,
     ServiceDaemon<I> *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<I>::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<I>::init_remote_status_updater() {
   }
 
   m_remote_status_updater.reset(MirrorStatusUpdater<I>::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<I>,
     &NamespaceReplayer<I>::handle_init_remote_status_updater>(this);
index 3773bbd5758496550bef551e332aa18b9e197477..53ae8c3881147ba841a5f39ba094b7a1bc77c38b 100644 (file)
@@ -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;