From adfb0233c568f0ac8922f85b0216efc0c314521f Mon Sep 17 00:00:00 2001 From: Daniel Gryniewicz Date: Tue, 23 Sep 2025 11:39:13 -0400 Subject: [PATCH] RGW - Fix dedup build Dedup is RadosStore specific, so move it to driver/rados, and only start it if radosstore is being built. Signed-off-by: Daniel Gryniewicz --- src/rgw/CMakeLists.txt | 12 ++++++------ src/rgw/{ => driver/rados}/rgw_dedup.cc | 0 src/rgw/{ => driver/rados}/rgw_dedup.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_cluster.cc | 0 src/rgw/{ => driver/rados}/rgw_dedup_cluster.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_epoch.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_remap.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_store.cc | 0 src/rgw/{ => driver/rados}/rgw_dedup_store.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_table.cc | 0 src/rgw/{ => driver/rados}/rgw_dedup_table.h | 0 src/rgw/{ => driver/rados}/rgw_dedup_utils.cc | 0 src/rgw/{ => driver/rados}/rgw_dedup_utils.h | 0 src/rgw/rgw_appmain.cc | 6 ++++++ src/rgw/rgw_lib.cc | 2 ++ src/rgw/rgw_main.cc | 2 ++ 16 files changed, 16 insertions(+), 6 deletions(-) rename src/rgw/{ => driver/rados}/rgw_dedup.cc (100%) rename src/rgw/{ => driver/rados}/rgw_dedup.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_cluster.cc (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_cluster.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_epoch.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_remap.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_store.cc (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_store.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_table.cc (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_table.h (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_utils.cc (100%) rename src/rgw/{ => driver/rados}/rgw_dedup_utils.h (100%) diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 3699ec33c318..0fd7a8bca473 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -140,11 +140,6 @@ set(librgw_common_srcs rgw_bucket_encryption.cc rgw_tracer.cc rgw_lua_background.cc - rgw_dedup.cc - rgw_dedup_table.cc - rgw_dedup_store.cc - rgw_dedup_utils.cc - rgw_dedup_cluster.cc rgw_data_access.cc rgw_realm_watcher.cc rgw_bucket_logging.cc @@ -236,7 +231,12 @@ if(WITH_RADOSGW_RADOS) driver/rados/config/realm_watcher.cc driver/rados/config/store.cc driver/rados/config/zone.cc - driver/rados/config/zonegroup.cc) + driver/rados/config/zonegroup.cc + driver/rados/rgw_dedup.cc + driver/rados/rgw_dedup_table.cc + driver/rados/rgw_dedup_store.cc + driver/rados/rgw_dedup_utils.cc + driver/rados/rgw_dedup_cluster.cc) endif() if(WITH_RADOSGW_AMQP_ENDPOINT) list(APPEND librgw_common_srcs rgw_amqp.cc) diff --git a/src/rgw/rgw_dedup.cc b/src/rgw/driver/rados/rgw_dedup.cc similarity index 100% rename from src/rgw/rgw_dedup.cc rename to src/rgw/driver/rados/rgw_dedup.cc diff --git a/src/rgw/rgw_dedup.h b/src/rgw/driver/rados/rgw_dedup.h similarity index 100% rename from src/rgw/rgw_dedup.h rename to src/rgw/driver/rados/rgw_dedup.h diff --git a/src/rgw/rgw_dedup_cluster.cc b/src/rgw/driver/rados/rgw_dedup_cluster.cc similarity index 100% rename from src/rgw/rgw_dedup_cluster.cc rename to src/rgw/driver/rados/rgw_dedup_cluster.cc diff --git a/src/rgw/rgw_dedup_cluster.h b/src/rgw/driver/rados/rgw_dedup_cluster.h similarity index 100% rename from src/rgw/rgw_dedup_cluster.h rename to src/rgw/driver/rados/rgw_dedup_cluster.h diff --git a/src/rgw/rgw_dedup_epoch.h b/src/rgw/driver/rados/rgw_dedup_epoch.h similarity index 100% rename from src/rgw/rgw_dedup_epoch.h rename to src/rgw/driver/rados/rgw_dedup_epoch.h diff --git a/src/rgw/rgw_dedup_remap.h b/src/rgw/driver/rados/rgw_dedup_remap.h similarity index 100% rename from src/rgw/rgw_dedup_remap.h rename to src/rgw/driver/rados/rgw_dedup_remap.h diff --git a/src/rgw/rgw_dedup_store.cc b/src/rgw/driver/rados/rgw_dedup_store.cc similarity index 100% rename from src/rgw/rgw_dedup_store.cc rename to src/rgw/driver/rados/rgw_dedup_store.cc diff --git a/src/rgw/rgw_dedup_store.h b/src/rgw/driver/rados/rgw_dedup_store.h similarity index 100% rename from src/rgw/rgw_dedup_store.h rename to src/rgw/driver/rados/rgw_dedup_store.h diff --git a/src/rgw/rgw_dedup_table.cc b/src/rgw/driver/rados/rgw_dedup_table.cc similarity index 100% rename from src/rgw/rgw_dedup_table.cc rename to src/rgw/driver/rados/rgw_dedup_table.cc diff --git a/src/rgw/rgw_dedup_table.h b/src/rgw/driver/rados/rgw_dedup_table.h similarity index 100% rename from src/rgw/rgw_dedup_table.h rename to src/rgw/driver/rados/rgw_dedup_table.h diff --git a/src/rgw/rgw_dedup_utils.cc b/src/rgw/driver/rados/rgw_dedup_utils.cc similarity index 100% rename from src/rgw/rgw_dedup_utils.cc rename to src/rgw/driver/rados/rgw_dedup_utils.cc diff --git a/src/rgw/rgw_dedup_utils.h b/src/rgw/driver/rados/rgw_dedup_utils.h similarity index 100% rename from src/rgw/rgw_dedup_utils.h rename to src/rgw/driver/rados/rgw_dedup_utils.h diff --git a/src/rgw/rgw_appmain.cc b/src/rgw/rgw_appmain.cc index cb3428ea9da2..dddf3583fbe3 100644 --- a/src/rgw/rgw_appmain.cc +++ b/src/rgw/rgw_appmain.cc @@ -65,7 +65,9 @@ #include "rgw_asio_frontend.h" #include "rgw_dmclock_scheduler_ctx.h" #include "rgw_lua.h" +#ifdef WITH_RADOSGW_RADOS #include "rgw_dedup.h" +#endif #ifdef WITH_RADOSGW_DBSTORE #include "rgw_sal_dbstore.h" #endif @@ -595,6 +597,7 @@ void rgw::AppMain::init_lua() #endif } /* init_lua */ +#ifdef WITH_RADOSGW_RADOS void rgw::AppMain::init_dedup() { rgw::sal::Driver* driver = env.driver; @@ -609,6 +612,7 @@ void rgw::AppMain::init_dedup() } } } +#endif void rgw::AppMain::shutdown(std::function finalize_async_signals) { @@ -637,9 +641,11 @@ void rgw::AppMain::shutdown(std::function finalize_async_signals) ldh.reset(nullptr); // deletes ldap helper if it was created rgw_log_usage_finalize(); +#ifdef WITH_RADOSGW_RADOS if (dedup_background) { dedup_background->shutdown(); } +#endif if (lua_background) { lua_background->shutdown(); diff --git a/src/rgw/rgw_lib.cc b/src/rgw/rgw_lib.cc index 2dd12dd40031..8c86bdba6456 100644 --- a/src/rgw/rgw_lib.cc +++ b/src/rgw/rgw_lib.cc @@ -545,7 +545,9 @@ namespace rgw { } main.init_lua(); +#ifdef WITH_RADOSGW_RADOS main.init_dedup(); +#endif return 0; } /* RGWLib::init() */ diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc index a47e6553ca2e..403ef6060a9e 100644 --- a/src/rgw/rgw_main.cc +++ b/src/rgw/rgw_main.cc @@ -162,7 +162,9 @@ int main(int argc, char *argv[]) main.init_opslog(); main.init_tracepoints(); main.init_lua(); +#ifdef WITH_RADOSGW_RADOS main.init_dedup(); +#endif r = main.init_frontends2(nullptr /* RGWLib */); if (r != 0) { derr << "ERROR: initialize frontend fail, r = " << r << dendl; -- 2.47.3