void SetUp() override {
TestMockFixture::SetUp();
+ librados::Rados remote_rados(m_remote_io_ctx);
+ EXPECT_EQ(0, remote_rados.cluster_fsid(&m_remote_fsid));
+
librbd::RBD rbd;
ASSERT_EQ(0, create_image(rbd, m_local_io_ctx, m_image_name, m_image_size));
ASSERT_EQ(0, open_image(m_local_io_ctx, m_image_name, &m_local_image_ctx));
librbd::ImageCtx* m_local_image_ctx = nullptr;
librbd::ImageCtx* m_remote_image_ctx = nullptr;
+ std::string m_remote_fsid;
PoolMetaCache m_pool_meta_cache{g_ceph_context};
ceph::mutex m_lock = ceph::make_mutex(
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
// init
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
// init
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
"local mirror uuid", &m_pool_meta_cache,
&mock_state_builder, &mock_replayer_listener};
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
&mock_state_builder, &mock_replayer_listener};
C_SaferCond shutdown_ctx;
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
&mock_state_builder, &mock_replayer_listener};
C_SaferCond shutdown_ctx;
m_pool_meta_cache.set_remote_pool_meta(
- m_remote_io_ctx.get_id(),
+ m_remote_fsid, m_remote_io_ctx.get_id(),
{"remote mirror uuid", "remote mirror peer uuid"});
librbd::UpdateWatchCtx* update_watch_ctx = nullptr;