diff --git a/include/rocksdb/external_table.h b/include/rocksdb/external_table.h index 32d79f4f21b..bf2aa8770c1 100644 --- a/include/rocksdb/external_table.h +++ b/include/rocksdb/external_table.h @@ -235,18 +235,21 @@ struct ExternalTableBuilderOptions { const std::string db_id; const std::string db_session_id; const TableFileCreationReason reason; + const std::shared_ptr& fs; ExternalTableBuilderOptions( const ReadOptions& _read_options, const WriteOptions& _write_options, const std::shared_ptr& _prefix_extractor, const Comparator* _comparator, const std::string& _column_family_name, - const TableFileCreationReason _reason) + const TableFileCreationReason _reason, + const std::shared_ptr& _fs) : read_options(_read_options), write_options(_write_options), prefix_extractor(_prefix_extractor), comparator(_comparator), column_family_name(_column_family_name), - reason(_reason) {} + reason(_reason), + fs(_fs) {} }; class ExternalTableFactory : public Customizable { diff --git a/table/external_table.cc b/table/external_table.cc index a30f5ff8ec0..c0fced48fb2 100644 --- a/table/external_table.cc +++ b/table/external_table.cc @@ -445,7 +445,7 @@ class ExternalTableFactoryAdapter : public TableFactory { ExternalTableBuilderOptions ext_topts( topts.read_options, topts.write_options, topts.moptions.prefix_extractor, topts.ioptions.user_comparator, - topts.column_family_name, topts.reason); + topts.column_family_name, topts.reason, topts.ioptions.fs); auto file_wrapper = std::make_unique(file); builder.reset(inner_->NewTableBuilder(ext_topts, file->file_name(), diff --git a/table/table_test.cc b/table/table_test.cc index 2eeb1abf7d4..f45b6b65f48 100644 --- a/table/table_test.cc +++ b/table/table_test.cc @@ -7240,7 +7240,8 @@ TEST_F(ExternalTableTest, BasicTest) { ExternalTableBuilderOptions(ReadOptions(), WriteOptions(), std::shared_ptr(), BytewiseComparator(), "default", - TableFileCreationReason::kMisc), + TableFileCreationReason::kMisc, + /*fs=*/nullptr), file_path, /*file=*/nullptr)); builder->Add("foo", "bar"); ASSERT_OK(builder->Finish());