[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,9 +289,9 @@ namespace {
//--------------------------------
class base_metadata_checker : public metadata_checker {
class metadata_checker {
public:
base_metadata_checker(block_manager::ptr bm,
metadata_checker(block_manager::ptr bm,
check_options check_opts,
output_options output_opts)
: bm_(bm),
@ -412,14 +412,13 @@ void check_options::set_override_mapping_root(block_address b) {
override_mapping_root_ = b;
}
metadata_checker::ptr
thin_provisioning::create_base_checker(block_manager::ptr bm,
base::error_state
thin_provisioning::check_metadata(block_manager::ptr bm,
check_options const &check_opts,
output_options output_opts)
{
metadata_checker::ptr checker;
checker = metadata_checker::ptr(new base_metadata_checker(bm, check_opts, output_opts));
return checker;
metadata_checker checker(bm, check_opts, output_opts);
return checker.check();
}
//----------------------------------------------------------------

View File

@ -56,17 +56,8 @@ namespace thin_provisioning {
OUTPUT_QUIET,
};
class metadata_checker {
public:
typedef std::shared_ptr<metadata_checker> ptr;
virtual ~metadata_checker() {}
virtual base::error_state check() = 0;
};
metadata_checker::ptr
create_base_checker(persistent_data::block_manager::ptr bm,
base::error_state
check_metadata(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);
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 = checker->check();
error_state err = check_metadata(bm, fs.check_opts, output_opts);
if (fs.ignore_non_fatal_errors)
success = (err == FATAL) ? false : true;