Detect XML in *_check tools (#86)

* [*_check] Detect XML in cache_check and era_check

This is based on previous commit b10d8d4440.

* [*_check] Fix typo in check_superblock
This commit is contained in:
csonto
2017-10-05 14:47:10 +02:00
committed by Joe Thornber
parent db9259d303
commit 5b5aa971a0
9 changed files with 66 additions and 21 deletions

View File

@@ -190,12 +190,6 @@ namespace {
return err;
}
void check_for_xml(block_manager<>::ptr bm, nested_output &out) {
block_manager<>::read_ref b = bm->read_lock(superblock_detail::SUPERBLOCK_LOCATION);
if (!strncmp(reinterpret_cast<const char *>(b.data()), "<superblock", 10))
out << "This looks like XML. thin_check only checks the binary metadata format." << end_message();
}
block_address mapping_root(superblock_detail::superblock const &sb, flags const &fs)
{
return fs.override_mapping_root ? *fs.override_mapping_root : sb.data_mapping_root_;
@@ -225,7 +219,8 @@ namespace {
}
if (sb_rep.get_error() == FATAL) {
check_for_xml(bm, out);
if (check_for_xml(bm))
out << "This looks like XML. thin_check only checks the binary metadata format." << end_message();
return FATAL;
}