From 78948e78d5f62d7c4dd13eec74464304c8dca0e5 Mon Sep 17 00:00:00 2001 From: "J. Eric Ivancich" Date: Thu, 9 Nov 2023 16:41:04 -0500 Subject: [PATCH] rgw: make subclass dependencies explicit As part of the Zipper project generic back-end code is being teased apart from rados-specific back-end code. This is a work in progress, so currently generic code and other subclasses of StoreDriver (and related high-level classes) depend on the rados-specific declarations. Some of these dependencies are not always obvious since src/rgw/driver/rados was put on the include path. That is now removed, so any includes needing files from that subclass have to give a more fully specified path. Signed-off-by: J. Eric Ivancich --- src/rgw/CMakeLists.txt | 1 - src/rgw/driver/dbstore/common/dbstore.h | 3 ++- src/rgw/driver/dbstore/config/sqlite.cc | 3 ++- src/rgw/rgw_basic_types.h | 3 ++- src/rgw/rgw_multi.h | 3 ++- src/rgw/rgw_sal.h | 6 ++++-- src/rgw/services/svc_bucket_sync.h | 2 +- src/rgw/services/svc_mdlog.cc | 3 ++- src/rgw/services/svc_meta_be.h | 3 ++- src/rgw/services/svc_user_rados.h | 3 ++- 10 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 9b55081dbaa..ddd9be20d2d 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -287,7 +287,6 @@ target_link_libraries(rgw_common ${FMT_LIB}) target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/services" - PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/driver/rados" PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw" PUBLIC "${LUA_INCLUDE_DIR}") diff --git a/src/rgw/driver/dbstore/common/dbstore.h b/src/rgw/driver/dbstore/common/dbstore.h index 79f312cb844..d3bdf880538 100644 --- a/src/rgw/driver/dbstore/common/dbstore.h +++ b/src/rgw/driver/dbstore/common/dbstore.h @@ -18,9 +18,10 @@ #include "global/global_context.h" #include "global/global_init.h" #include "common/ceph_context.h" -#include "rgw_obj_manifest.h" #include "rgw_multi.h" +#include "driver/rados/rgw_obj_manifest.h" // FIXME: subclass dependency + namespace rgw { namespace store { class DB; diff --git a/src/rgw/driver/dbstore/config/sqlite.cc b/src/rgw/driver/dbstore/config/sqlite.cc index 1f759c69178..aa2d1a354ff 100644 --- a/src/rgw/driver/dbstore/config/sqlite.cc +++ b/src/rgw/driver/dbstore/config/sqlite.cc @@ -25,7 +25,8 @@ #include "include/encoding.h" #include "common/dout.h" #include "common/random_string.h" -#include "rgw_zone.h" + +#include "driver/rados/rgw_zone.h" // FIXME: subclass dependency #include "common/connection_pool.h" #include "sqlite/connection.h" diff --git a/src/rgw/rgw_basic_types.h b/src/rgw/rgw_basic_types.h index cd30d2344ba..4cffb333288 100644 --- a/src/rgw/rgw_basic_types.h +++ b/src/rgw/rgw_basic_types.h @@ -31,7 +31,8 @@ #include "rgw_user_types.h" #include "rgw_bucket_types.h" #include "rgw_obj_types.h" -#include "rgw_obj_manifest.h" + +#include "driver/rados/rgw_obj_manifest.h" // FIXME: subclass dependency #include "common/Formatter.h" diff --git a/src/rgw/rgw_multi.h b/src/rgw/rgw_multi.h index f57c90e7489..06a192fc72d 100644 --- a/src/rgw/rgw_multi.h +++ b/src/rgw/rgw_multi.h @@ -6,11 +6,12 @@ #include #include "rgw_xml.h" #include "rgw_obj_types.h" -#include "rgw_obj_manifest.h" #include "rgw_compression_types.h" #include "common/dout.h" #include "rgw_sal_fwd.h" +#include "driver/rados/rgw_obj_manifest.h" // FIXME: subclass dependency + #define MULTIPART_UPLOAD_ID_PREFIX_LEGACY "2/" #define MULTIPART_UPLOAD_ID_PREFIX "2~" // must contain a unique char that may not come up in gen_rand_alpha() diff --git a/src/rgw/rgw_sal.h b/src/rgw/rgw_sal.h index b222fcd03cb..9e047ad04b4 100644 --- a/src/rgw/rgw_sal.h +++ b/src/rgw/rgw_sal.h @@ -18,12 +18,14 @@ #include "common/tracer.h" #include "rgw_sal_fwd.h" #include "rgw_lua.h" -#include "rgw_user.h" #include "rgw_notify_event_type.h" #include "rgw_req_context.h" -#include "rgw_datalog_notify.h" #include "include/random.h" +// FIXME: following subclass dependencies +#include "driver/rados/rgw_user.h" +#include "driver/rados/rgw_datalog_notify.h" + struct RGWBucketEnt; class RGWRESTMgr; class RGWAccessListFilter; diff --git a/src/rgw/services/svc_bucket_sync.h b/src/rgw/services/svc_bucket_sync.h index 7975e062bb6..37dada55ecd 100644 --- a/src/rgw/services/svc_bucket_sync.h +++ b/src/rgw/services/svc_bucket_sync.h @@ -17,7 +17,7 @@ #pragma once -#include "rgw_service.h" +#include "driver/rados/rgw_service.h" // FIXME: subclass dependency #include "svc_bucket_types.h" diff --git a/src/rgw/services/svc_mdlog.cc b/src/rgw/services/svc_mdlog.cc index 06459f5239e..da723f3e129 100644 --- a/src/rgw/services/svc_mdlog.cc +++ b/src/rgw/services/svc_mdlog.cc @@ -10,7 +10,8 @@ #include "rgw_mdlog.h" #include "rgw_coroutine.h" #include "rgw_cr_rados.h" -#include "rgw_zone.h" + +#include "driver/rados/rgw_zone.h" // FIXME: subclass dependency #include "common/errno.h" diff --git a/src/rgw/services/svc_meta_be.h b/src/rgw/services/svc_meta_be.h index 97267a4e7e3..b580d173f22 100644 --- a/src/rgw/services/svc_meta_be.h +++ b/src/rgw/services/svc_meta_be.h @@ -19,9 +19,10 @@ #include "svc_meta_be_params.h" -#include "rgw_service.h" #include "rgw_mdlog_types.h" +#include "driver/rados/rgw_service.h" // FIXME: subclass dependency + class RGWMetadataLogData; class RGWSI_MDLog; diff --git a/src/rgw/services/svc_user_rados.h b/src/rgw/services/svc_user_rados.h index 177f720d6b1..4712d1fdafd 100644 --- a/src/rgw/services/svc_user_rados.h +++ b/src/rgw/services/svc_user_rados.h @@ -20,7 +20,8 @@ #include "svc_meta_be.h" #include "svc_user.h" -#include "rgw_bucket.h" + +#include "driver/rados/rgw_bucket.h" // FIXME: subclass dependency class RGWSI_RADOS; class RGWSI_Zone; -- 2.39.5