From 16955ce574d8d0a41c0e5452457346b7dea30674 Mon Sep 17 00:00:00 2001 From: Ramana Raja Date: Tue, 4 Mar 2025 12:43:19 -0500 Subject: [PATCH] librbd/mirror: change naming format of member image snap ... of primary and non-primary mirror group snaps. Set the naming format of member image snap of a mirror group snap to be, mirror.primary...__, or mirror.non_primary...__ Signed-off-by: Ramana Raja --- .../mirror/snapshot/CreateNonPrimaryRequest.cc | 16 ++++++++++++---- .../mirror/snapshot/CreatePrimaryRequest.cc | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.cc b/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.cc index 70fa8e8f5da5b..9fcb80ef7dc87 100644 --- a/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.cc +++ b/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.cc @@ -122,10 +122,18 @@ void CreateNonPrimaryRequest::handle_get_mirror_image(int r) { return; } - uuid_d uuid_gen; - uuid_gen.generate_random(); - m_snap_name = ".mirror.non_primary." + mirror_image.global_image_id + "." + - uuid_gen.to_string(); + std::stringstream ss; + ss << ".mirror.non_primary." << mirror_image.global_image_id << "."; + if (!m_group_snap_id.empty()) { + ss << m_image_ctx->group_spec.pool_id << "_" + << m_image_ctx->group_spec.group_id << "_" + << m_group_snap_id; + } else { + uuid_d uuid_gen; + uuid_gen.generate_random(); + ss << uuid_gen.to_string(); + } + m_snap_name = ss.str(); get_mirror_peers(); } diff --git a/src/librbd/mirror/snapshot/CreatePrimaryRequest.cc b/src/librbd/mirror/snapshot/CreatePrimaryRequest.cc index 255c69476d6b4..519ff7f838cb7 100644 --- a/src/librbd/mirror/snapshot/CreatePrimaryRequest.cc +++ b/src/librbd/mirror/snapshot/CreatePrimaryRequest.cc @@ -52,10 +52,18 @@ void CreatePrimaryRequest::send() { return; } - uuid_d uuid_gen; - uuid_gen.generate_random(); - m_snap_name = ".mirror.primary." + m_global_image_id + "." + - uuid_gen.to_string(); + std::stringstream ss; + ss << ".mirror.primary." << m_global_image_id << "."; + if (!m_group_snap_id.empty()) { + ss << m_image_ctx->group_spec.pool_id << "_" + << m_image_ctx->group_spec.group_id << "_" + << m_group_snap_id; + } else { + uuid_d uuid_gen; + uuid_gen.generate_random(); + ss << uuid_gen.to_string(); + } + m_snap_name = ss.str(); get_mirror_peers(); } -- 2.39.5