summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_sal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/rgw_sal.cc')
-rw-r--r--src/rgw/rgw_sal.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rgw/rgw_sal.cc b/src/rgw/rgw_sal.cc
index 6c0212dae81..a70813435bc 100644
--- a/src/rgw/rgw_sal.cc
+++ b/src/rgw/rgw_sal.cc
@@ -46,7 +46,7 @@
#define dout_subsys ceph_subsys_rgw
extern "C" {
-extern rgw::sal::Driver* newRadosStore(void);
+extern rgw::sal::Driver* newRadosStore(boost::asio::io_context* io_context);
#ifdef WITH_RADOSGW_DBSTORE
extern rgw::sal::Driver* newDBStore(CephContext *cct);
#endif
@@ -103,6 +103,7 @@ RGWObjState::RGWObjState(const RGWObjState& rhs) : obj (rhs.obj) {
rgw::sal::Driver* DriverManager::init_storage_provider(const DoutPrefixProvider* dpp,
CephContext* cct,
const Config& cfg,
+ boost::asio::io_context& io_context,
bool use_gc_thread,
bool use_lc_thread,
bool quota_threads,
@@ -115,7 +116,7 @@ rgw::sal::Driver* DriverManager::init_storage_provider(const DoutPrefixProvider*
rgw::sal::Driver* driver{nullptr};
if (cfg.store_name.compare("rados") == 0) {
- driver = newRadosStore();
+ driver = newRadosStore(&io_context);
RGWRados* rados = static_cast<rgw::sal::RadosStore* >(driver)->getRados();
if ((*rados).set_use_cache(use_cache)
@@ -141,7 +142,7 @@ rgw::sal::Driver* DriverManager::init_storage_provider(const DoutPrefixProvider*
}
}
else if (cfg.store_name.compare("d3n") == 0) {
- driver = new rgw::sal::RadosStore();
+ driver = new rgw::sal::RadosStore(io_context);
RGWRados* rados = new D3nRGWDataCache<RGWRados>;
dynamic_cast<rgw::sal::RadosStore*>(driver)->setRados(rados);
rados->set_store(static_cast<rgw::sal::RadosStore* >(driver));
@@ -261,11 +262,11 @@ rgw::sal::Driver* DriverManager::init_storage_provider(const DoutPrefixProvider*
return driver;
}
-rgw::sal::Driver* DriverManager::init_raw_storage_provider(const DoutPrefixProvider* dpp, CephContext* cct, const Config& cfg)
+rgw::sal::Driver* DriverManager::init_raw_storage_provider(const DoutPrefixProvider* dpp, CephContext* cct, const Config& cfg, boost::asio::io_context& io_context)
{
rgw::sal::Driver* driver = nullptr;
if (cfg.store_name.compare("rados") == 0) {
- driver = newRadosStore();
+ driver = newRadosStore(&io_context);
RGWRados* rados = static_cast<rgw::sal::RadosStore* >(driver)->getRados();
rados->set_context(cct);