[thin_check (rust)] Allow ignoring non-fatal errors in mapping tree
This commit is contained in:
parent
a18fd60f3f
commit
438730951e
@ -136,13 +136,14 @@ fn check_mapping_bottom_level(
|
|||||||
metadata_sm: &Arc<Mutex<dyn SpaceMap + Send + Sync>>,
|
metadata_sm: &Arc<Mutex<dyn SpaceMap + Send + Sync>>,
|
||||||
data_sm: &Arc<Mutex<dyn SpaceMap + Send + Sync>>,
|
data_sm: &Arc<Mutex<dyn SpaceMap + Send + Sync>>,
|
||||||
roots: &BTreeMap<u64, (Vec<u64>, u64)>,
|
roots: &BTreeMap<u64, (Vec<u64>, u64)>,
|
||||||
|
ignore_non_fatal: bool,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
ctx.report.set_sub_title("mapping tree");
|
ctx.report.set_sub_title("mapping tree");
|
||||||
|
|
||||||
let w = Arc::new(BTreeWalker::new_with_sm(
|
let w = Arc::new(BTreeWalker::new_with_sm(
|
||||||
ctx.engine.clone(),
|
ctx.engine.clone(),
|
||||||
metadata_sm.clone(),
|
metadata_sm.clone(),
|
||||||
false,
|
ignore_non_fatal,
|
||||||
)?);
|
)?);
|
||||||
|
|
||||||
// We want to print out errors as we progress, so we aggregate for each thin and print
|
// We want to print out errors as we progress, so we aggregate for each thin and print
|
||||||
@ -287,7 +288,7 @@ pub fn check(opts: ThinCheckOptions) -> Result<()> {
|
|||||||
// mapping bottom level
|
// mapping bottom level
|
||||||
let root = unpack::<SMRoot>(&sb.data_sm_root[0..])?;
|
let root = unpack::<SMRoot>(&sb.data_sm_root[0..])?;
|
||||||
let data_sm = core_sm(root.nr_blocks, nr_devs as u32);
|
let data_sm = core_sm(root.nr_blocks, nr_devs as u32);
|
||||||
check_mapping_bottom_level(&ctx, &metadata_sm, &data_sm, &roots)?;
|
check_mapping_bottom_level(&ctx, &metadata_sm, &data_sm, &roots, opts.ignore_non_fatal)?;
|
||||||
bail_out(&ctx, "mapping tree")?;
|
bail_out(&ctx, "mapping tree")?;
|
||||||
|
|
||||||
//-----------------------------------------
|
//-----------------------------------------
|
||||||
@ -432,7 +433,7 @@ pub fn check_with_maps(
|
|||||||
// mapping bottom level
|
// mapping bottom level
|
||||||
let root = unpack::<SMRoot>(&sb.data_sm_root[0..])?;
|
let root = unpack::<SMRoot>(&sb.data_sm_root[0..])?;
|
||||||
let data_sm = core_sm(root.nr_blocks, nr_devs as u32);
|
let data_sm = core_sm(root.nr_blocks, nr_devs as u32);
|
||||||
check_mapping_bottom_level(&ctx, &metadata_sm, &data_sm, &roots)?;
|
check_mapping_bottom_level(&ctx, &metadata_sm, &data_sm, &roots, false)?;
|
||||||
bail_out(&ctx, "mapping tree")?;
|
bail_out(&ctx, "mapping tree")?;
|
||||||
|
|
||||||
//-----------------------------------------
|
//-----------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user