[thin_repair] we need to read the space maps after all to get the data

volume size.
This commit is contained in:
Joe Thornber 2016-03-21 15:36:49 +00:00
parent afb71d8b5e
commit 2cf0c84ce3

View File

@ -23,7 +23,12 @@ namespace {
emitter::ptr e = create_restore_emitter(new_md);
block_manager<>::ptr old_bm = open_bm(old_path, block_manager<>::READ_ONLY);
metadata::ptr old_md(new metadata(old_bm, false)); // we don't need to read the space maps
// we need to read the space maps to get the size
// of the data device. This is a shame, since any
// corruption in the sms will cause the repair to
// fail.
metadata::ptr old_md(new metadata(old_bm, true));
metadata_dump(old_md, e, true);
} catch (std::exception &e) {