From: Kefu Chai Date: Tue, 20 Jul 2021 14:45:50 +0000 (+0800) Subject: crimson/tools/store_nbd: pass app.alien() down to FSDriver X-Git-Tag: v17.1.0~1346^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8ec97762c4809c25d3b38ac15b942dfd710e3d29;p=ceph-ci.git crimson/tools/store_nbd: pass app.alien() down to FSDriver this was an oversight in 8fad523d41008727c9a952afcda15b77be50ba3c Signed-off-by: Kefu Chai --- diff --git a/src/crimson/tools/store_nbd/block_driver.cc b/src/crimson/tools/store_nbd/block_driver.cc index 10e77a34bc3..c7da8179a81 100644 --- a/src/crimson/tools/store_nbd/block_driver.cc +++ b/src/crimson/tools/store_nbd/block_driver.cc @@ -6,12 +6,13 @@ #include "tm_driver.h" -BlockDriverRef get_backend(BlockDriver::config_t config) +BlockDriverRef get_backend(BlockDriver::config_t config, + seastar::alien::instance& alien) { if (config.type == "transaction_manager") { return std::make_unique(config); } else if (config.is_futurized_store()) { - return std::make_unique(config); + return std::make_unique(config, alien); } else { ceph_assert(0 == "invalid option"); return BlockDriverRef(); diff --git a/src/crimson/tools/store_nbd/block_driver.h b/src/crimson/tools/store_nbd/block_driver.h index dca74ee43bd..d73f0188496 100644 --- a/src/crimson/tools/store_nbd/block_driver.h +++ b/src/crimson/tools/store_nbd/block_driver.h @@ -13,6 +13,10 @@ #include "include/buffer.h" +namespace seastar::alien { +class instance; +} + /** * BlockDriver * @@ -92,4 +96,5 @@ public: }; using BlockDriverRef = std::unique_ptr; -BlockDriverRef get_backend(BlockDriver::config_t config); +BlockDriverRef get_backend(BlockDriver::config_t config, + seastar::alien::instance& alien); diff --git a/src/crimson/tools/store_nbd/fs_driver.cc b/src/crimson/tools/store_nbd/fs_driver.cc index 8de6d86a3a6..aa1462acbd8 100644 --- a/src/crimson/tools/store_nbd/fs_driver.cc +++ b/src/crimson/tools/store_nbd/fs_driver.cc @@ -163,5 +163,6 @@ void FSDriver::init() fs = FuturizedStore::create( config.get_fs_type(), *config.path, - crimson::common::local_conf().get_config_values()); + crimson::common::local_conf().get_config_values(), + alien); } diff --git a/src/crimson/tools/store_nbd/fs_driver.h b/src/crimson/tools/store_nbd/fs_driver.h index 1ef0797a97f..ee4b7fb0b4a 100644 --- a/src/crimson/tools/store_nbd/fs_driver.h +++ b/src/crimson/tools/store_nbd/fs_driver.h @@ -6,9 +6,17 @@ #include "crimson/os/futurized_collection.h" #include "crimson/os/futurized_store.h" +namespace seastar::alien { +class instance; +} + class FSDriver final : public BlockDriver { public: - FSDriver(config_t config) : config(config) {} + FSDriver(config_t config, + seastar::alien::instance& alien) + : config(config), + alien(alien) + {} ~FSDriver() final {} bufferptr get_buffer(size_t size) final { @@ -34,6 +42,7 @@ public: private: size_t size = 0; const config_t config; + seastar::alien::instance& alien; std::unique_ptr fs; std::map collections; diff --git a/src/crimson/tools/store_nbd/store-nbd.cc b/src/crimson/tools/store_nbd/store-nbd.cc index 5419c5565e1..17f8cfa1d43 100644 --- a/src/crimson/tools/store_nbd/store-nbd.cc +++ b/src/crimson/tools/store_nbd/store-nbd.cc @@ -298,7 +298,7 @@ int main(int argc, char** argv) crimson::common::sharded_conf().stop().get(); }); - auto backend = get_backend(backend_config); + auto backend = get_backend(backend_config, app.alien()); NBDHandler nbd(*backend, nbd_config); backend->mount().get(); auto close_backend = seastar::defer([&] {