refactor: move filesystem_extractor to utility namespace

This commit is contained in:
Marcus Holland-Moritz 2024-08-04 18:48:24 +02:00
parent 9f60f91b60
commit 343c880497
5 changed files with 16 additions and 10 deletions

View File

@ -693,7 +693,7 @@ list(APPEND LIBDWARFS_REWRITE_SRC
) )
list(APPEND LIBDWARFS_EXTRACTOR_SRC list(APPEND LIBDWARFS_EXTRACTOR_SRC
src/dwarfs/filesystem_extractor.cpp src/dwarfs/utility/filesystem_extractor.cpp
) )
list(APPEND LIBDWARFS_TOOL_SRC list(APPEND LIBDWARFS_TOOL_SRC

View File

@ -40,6 +40,8 @@ class filesystem_v2;
} }
namespace utility {
struct filesystem_extractor_options { struct filesystem_extractor_options {
size_t max_queued_bytes{4096}; size_t max_queued_bytes{4096};
bool continue_on_error{false}; bool continue_on_error{false};
@ -90,4 +92,6 @@ class filesystem_extractor {
std::unique_ptr<impl> impl_; std::unique_ptr<impl> impl_;
}; };
} // namespace utility
} // namespace dwarfs } // namespace dwarfs

View File

@ -40,7 +40,6 @@
#include <folly/system/ThreadName.h> #include <folly/system/ThreadName.h>
#include <dwarfs/file_stat.h> #include <dwarfs/file_stat.h>
#include <dwarfs/filesystem_extractor.h>
#include <dwarfs/fstypes.h> #include <dwarfs/fstypes.h>
#include <dwarfs/library_dependencies.h> #include <dwarfs/library_dependencies.h>
#include <dwarfs/logger.h> #include <dwarfs/logger.h>
@ -49,14 +48,17 @@
#include <dwarfs/reader/filesystem_v2.h> #include <dwarfs/reader/filesystem_v2.h>
#include <dwarfs/scope_exit.h> #include <dwarfs/scope_exit.h>
#include <dwarfs/util.h> #include <dwarfs/util.h>
#include <dwarfs/utility/filesystem_extractor.h>
#include <dwarfs/vfs_stat.h> #include <dwarfs/vfs_stat.h>
#include <dwarfs/internal/worker_group.h> #include <dwarfs/internal/worker_group.h>
namespace dwarfs { namespace dwarfs::utility {
namespace internal { namespace internal {
using namespace dwarfs::internal;
namespace { namespace {
class cache_semaphore { class cache_semaphore {
@ -436,4 +438,4 @@ void filesystem_extractor::add_library_dependencies(
deps.add_library(::archive_version_string()); deps.add_library(::archive_version_string());
} }
} // namespace dwarfs } // namespace dwarfs::utility

View File

@ -26,7 +26,6 @@
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <dwarfs/filesystem_extractor.h>
#include <dwarfs/library_dependencies.h> #include <dwarfs/library_dependencies.h>
#include <dwarfs/logger.h> #include <dwarfs/logger.h>
#include <dwarfs/mmap.h> #include <dwarfs/mmap.h>
@ -39,6 +38,7 @@
#include <dwarfs/tool/program_options_helpers.h> #include <dwarfs/tool/program_options_helpers.h>
#include <dwarfs/tool/tool.h> #include <dwarfs/tool/tool.h>
#include <dwarfs/util.h> #include <dwarfs/util.h>
#include <dwarfs/utility/filesystem_extractor.h>
#include <dwarfs_tool_main.h> #include <dwarfs_tool_main.h>
namespace po = boost::program_options; namespace po = boost::program_options;
@ -131,7 +131,7 @@ int dwarfsextract_main(int argc, sys_char** argv, iolayer const& iol) {
if (vm.count("help") or !vm.count("input")) { if (vm.count("help") or !vm.count("input")) {
library_dependencies deps; library_dependencies deps;
deps.add_common_libraries(); deps.add_common_libraries();
filesystem_extractor::add_library_dependencies(deps); utility::filesystem_extractor::add_library_dependencies(deps);
iol.out << tool::tool_header("dwarfsextract") << deps.as_string() << "\n\n" iol.out << tool::tool_header("dwarfsextract") << deps.as_string() << "\n\n"
<< usage << "\n" << usage << "\n"
@ -165,7 +165,7 @@ int dwarfsextract_main(int argc, sys_char** argv, iolayer const& iol) {
perfmon_enabled, iol.file, perfmon_trace_file); perfmon_enabled, iol.file, perfmon_trace_file);
reader::filesystem_v2 fs(lgr, *iol.os, fs_image, fsopts, perfmon); reader::filesystem_v2 fs(lgr, *iol.os, fs_image, fsopts, perfmon);
filesystem_extractor fsx(lgr, *iol.os); utility::filesystem_extractor fsx(lgr, *iol.os);
if (format.empty()) { if (format.empty()) {
fsx.open_disk(iol.os->canonical(output)); fsx.open_disk(iol.os->canonical(output));
@ -192,7 +192,7 @@ int dwarfsextract_main(int argc, sys_char** argv, iolayer const& iol) {
} }
} }
filesystem_extractor_options fsx_opts; utility::filesystem_extractor_options fsx_opts;
fsx_opts.max_queued_bytes = fsopts.block_cache.max_bytes; fsx_opts.max_queued_bytes = fsopts.block_cache.max_bytes;
fsx_opts.continue_on_error = continue_on_error; fsx_opts.continue_on_error = continue_on_error;

View File

@ -38,12 +38,12 @@
#include <dwarfs/block_compressor.h> #include <dwarfs/block_compressor.h>
#include <dwarfs/file_stat.h> #include <dwarfs/file_stat.h>
#include <dwarfs/filesystem_extractor.h>
#include <dwarfs/logger.h> #include <dwarfs/logger.h>
#include <dwarfs/mmap.h> #include <dwarfs/mmap.h>
#include <dwarfs/options.h> #include <dwarfs/options.h>
#include <dwarfs/reader/filesystem_v2.h> #include <dwarfs/reader/filesystem_v2.h>
#include <dwarfs/thread_pool.h> #include <dwarfs/thread_pool.h>
#include <dwarfs/utility/filesystem_extractor.h>
#include <dwarfs/utility/rewrite_filesystem.h> #include <dwarfs/utility/rewrite_filesystem.h>
#include <dwarfs/vfs_stat.h> #include <dwarfs/vfs_stat.h>
#include <dwarfs/writer/filesystem_block_category_resolver.h> #include <dwarfs/writer/filesystem_block_category_resolver.h>
@ -981,7 +981,7 @@ void check_compat(logger& lgr, reader::filesystem_v2 const& fs,
} }
test::os_access_mock os; test::os_access_mock os;
filesystem_extractor ext(lgr, os); utility::filesystem_extractor ext(lgr, os);
std::ostringstream oss; std::ostringstream oss;
EXPECT_NO_THROW(ext.open_stream(oss, "mtree")); EXPECT_NO_THROW(ext.open_stream(oss, "mtree"));