]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/tools/store_nbd: pass app.alien() down to FSDriver
authorKefu Chai <kchai@redhat.com>
Tue, 20 Jul 2021 14:45:50 +0000 (22:45 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 20 Jul 2021 14:48:27 +0000 (22:48 +0800)
this was an oversight in 8fad523d41008727c9a952afcda15b77be50ba3c

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/tools/store_nbd/block_driver.cc
src/crimson/tools/store_nbd/block_driver.h
src/crimson/tools/store_nbd/fs_driver.cc
src/crimson/tools/store_nbd/fs_driver.h
src/crimson/tools/store_nbd/store-nbd.cc

index 10e77a34bc39d19a7b8cfde6f944bfc602711891..c7da8179a81d51d7774128e35a385395e32a8434 100644 (file)
@@ -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<TMDriver>(config);
   } else if (config.is_futurized_store()) {
-    return std::make_unique<FSDriver>(config);
+    return std::make_unique<FSDriver>(config, alien);
   } else {
     ceph_assert(0 == "invalid option");
     return BlockDriverRef();
index dca74ee43bdcbe1b0be61204521444a675f24b95..d73f0188496a0e8380929279615e6abf510a2f6f 100644 (file)
 
 #include "include/buffer.h"
 
+namespace seastar::alien {
+class instance;
+}
+
 /**
  * BlockDriver
  *
@@ -92,4 +96,5 @@ public:
 };
 using BlockDriverRef = std::unique_ptr<BlockDriver>;
 
-BlockDriverRef get_backend(BlockDriver::config_t config);
+BlockDriverRef get_backend(BlockDriver::config_t config,
+                          seastar::alien::instance& alien);
index 8de6d86a3a6fffb56c2625418647a2c120367bb9..aa1462acbd8e3c49ed236272ebb33c1dfc4e053a 100644 (file)
@@ -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);
 }
index 1ef0797a97f4298d159a0952356b9806e45a8fd3..ee4b7fb0b4a55a01219f685bd712b1eba43417c5 100644 (file)
@@ -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<crimson::os::FuturizedStore> fs;
   std::map<unsigned, crimson::os::CollectionRef> collections;
 
index 5419c5565e10a77a366e5dca96da977cc5cc8762..17f8cfa1d43b818735f70a00b97ae0f23c1b5bac 100644 (file)
@@ -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([&] {