[thin_check] Remove the metadata_checker base class.

It's really only a single method.
This commit is contained in:
Joe Thornber 2020-05-28 14:43:03 +01:00
parent c94f560be8
commit 16a10d2554
3 changed files with 15 additions and 26 deletions

View File

@ -289,11 +289,11 @@ namespace {
//-------------------------------- //--------------------------------
class base_metadata_checker : public metadata_checker { class metadata_checker {
public: public:
base_metadata_checker(block_manager::ptr bm, metadata_checker(block_manager::ptr bm,
check_options check_opts, check_options check_opts,
output_options output_opts) output_options output_opts)
: bm_(bm), : bm_(bm),
options_(check_opts), options_(check_opts),
out_(cerr, 2), out_(cerr, 2),
@ -412,14 +412,13 @@ void check_options::set_override_mapping_root(block_address b) {
override_mapping_root_ = b; override_mapping_root_ = b;
} }
metadata_checker::ptr base::error_state
thin_provisioning::create_base_checker(block_manager::ptr bm, thin_provisioning::check_metadata(block_manager::ptr bm,
check_options const &check_opts, check_options const &check_opts,
output_options output_opts) output_options output_opts)
{ {
metadata_checker::ptr checker; metadata_checker checker(bm, check_opts, output_opts);
checker = metadata_checker::ptr(new base_metadata_checker(bm, check_opts, output_opts)); return checker.check();
return checker;
} }
//---------------------------------------------------------------- //----------------------------------------------------------------

View File

@ -56,19 +56,10 @@ namespace thin_provisioning {
OUTPUT_QUIET, OUTPUT_QUIET,
}; };
class metadata_checker { base::error_state
public: check_metadata(persistent_data::block_manager::ptr bm,
typedef std::shared_ptr<metadata_checker> ptr; check_options const &check_opts,
output_options output_opts);
virtual ~metadata_checker() {}
virtual base::error_state check() = 0;
};
metadata_checker::ptr
create_base_checker(persistent_data::block_manager::ptr bm,
check_options const &check_opts,
output_options output_opts);
} }
//---------------------------------------------------------------- //----------------------------------------------------------------

View File

@ -78,8 +78,7 @@ namespace {
block_manager::ptr bm = open_bm(path); block_manager::ptr bm = open_bm(path);
output_options output_opts = !fs.quiet ? OUTPUT_NORMAL : OUTPUT_QUIET; output_options output_opts = !fs.quiet ? OUTPUT_NORMAL : OUTPUT_QUIET;
metadata_checker::ptr checker = create_base_checker(bm, fs.check_opts, output_opts); error_state err = check_metadata(bm, fs.check_opts, output_opts);
error_state err = checker->check();
if (fs.ignore_non_fatal_errors) if (fs.ignore_non_fatal_errors)
success = (err == FATAL) ? false : true; success = (err == FATAL) ? false : true;