From 4c7a0d397d55d4daafe82dfc12220d12307918ce Mon Sep 17 00:00:00 2001 From: "Adam C. Emerson" Date: Wed, 26 Apr 2023 12:12:52 -0400 Subject: [PATCH] rgw/multisite/datalog: Take driver, not handle. Since we're plumbing the driver around and it's where our neorados handle lives. Signed-off-by: Adam C. Emerson --- src/rgw/driver/rados/rgw_datalog.cc | 5 +++-- src/rgw/driver/rados/rgw_datalog.h | 2 +- src/rgw/driver/rados/rgw_service.cc | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rgw/driver/rados/rgw_datalog.cc b/src/rgw/driver/rados/rgw_datalog.cc index d223932bb2c..49371553ca7 100644 --- a/src/rgw/driver/rados/rgw_datalog.cc +++ b/src/rgw/driver/rados/rgw_datalog.cc @@ -21,6 +21,7 @@ #include "rgw_datalog.h" #include "rgw_log_backing.h" #include "rgw_tools.h" +#include "rgw_sal_rados.h" #define dout_context g_ceph_context static constexpr auto dout_subsys = ceph_subsys_rgw; @@ -489,7 +490,7 @@ bs::error_code DataLogBackends::handle_empty_to(uint64_t new_tail) noexcept { int RGWDataChangesLog::start(const DoutPrefixProvider *dpp, const RGWZone* _zone, const RGWZoneParams& zoneparams, - librados::Rados* lr) + rgw::sal::RadosStore* store) { zone = _zone; ceph_assert(zone); @@ -498,7 +499,7 @@ int RGWDataChangesLog::start(const DoutPrefixProvider *dpp, const RGWZone* _zone // Should be guaranteed by `set_enum_allowed` ceph_assert(defbacking); auto log_pool = zoneparams.log_pool; - auto r = rgw_init_ioctx(dpp, lr, log_pool, ioctx, true, false); + auto r = rgw_init_ioctx(dpp, store->getRados()->get_rados_handle(), log_pool, ioctx, true, false); if (r < 0) { ldpp_dout(dpp, -1) << __PRETTY_FUNCTION__ << ": Failed to initialized ioctx, r=" << r diff --git a/src/rgw/driver/rados/rgw_datalog.h b/src/rgw/driver/rados/rgw_datalog.h index 7efa3e57223..a86efb4162d 100644 --- a/src/rgw/driver/rados/rgw_datalog.h +++ b/src/rgw/driver/rados/rgw_datalog.h @@ -292,7 +292,7 @@ public: ~RGWDataChangesLog(); int start(const DoutPrefixProvider *dpp, const RGWZone* _zone, const RGWZoneParams& zoneparams, - librados::Rados* lr); + rgw::sal::RadosStore* store); int choose_oid(const rgw_bucket_shard& bs); int add_entry(const DoutPrefixProvider *dpp, const RGWBucketInfo& bucket_info, const rgw::bucket_log_layout_generation& gen, int shard_id, diff --git a/src/rgw/driver/rados/rgw_service.cc b/src/rgw/driver/rados/rgw_service.cc index 784fefd0bcb..7de23f22341 100644 --- a/src/rgw/driver/rados/rgw_service.cc +++ b/src/rgw/driver/rados/rgw_service.cc @@ -136,7 +136,7 @@ int RGWServices_Def::init(CephContext *cct, r = datalog_rados->start(dpp, &zone->get_zone(), zone->get_zone_params(), - driver->getRados()->get_rados_handle()); + driver); if (r < 0) { ldpp_dout(dpp, 0) << "ERROR: failed to start datalog_rados service (" << cpp_strerror(-r) << dendl; return r; -- 2.47.3