diff --git a/src/bin/cache_check.rs b/src/bin/cache_check.rs index f266161..34fe874 100644 --- a/src/bin/cache_check.rs +++ b/src/bin/cache_check.rs @@ -14,6 +14,7 @@ use thinp::report::*; fn main() { let parser = App::new("cache_check") .version(thinp::version::tools_version()) + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") @@ -21,50 +22,47 @@ fn main() { .hidden(true), ) .arg( - Arg::with_name("INPUT") - .help("Specify the input device to check") - .required(true) - .index(1), - ) - .arg( - Arg::with_name("SB_ONLY") - .help("Only check the superblock.") - .long("super-block-only") - .value_name("SB_ONLY"), - ) - .arg( - Arg::with_name("SKIP_MAPPINGS") - .help("Don't check the mapping array") - .long("skip-mappings") - .value_name("SKIP_MAPPINGS"), - ) - .arg( - Arg::with_name("SKIP_HINTS") - .help("Don't check the hint array") - .long("skip-hints") - .value_name("SKIP_HINTS"), - ) - .arg( - Arg::with_name("SKIP_DISCARDS") - .help("Don't check the discard bitset") - .long("skip-discards") - .value_name("SKIP_DISCARDS"), + Arg::with_name("AUTO_REPAIR") + .help("Auto repair trivial issues.") + .long("auto-repair"), ) .arg( Arg::with_name("IGNORE_NON_FATAL") .help("Only return a non-zero exit code if a fatal error is found.") .long("ignore-non-fatal-errors"), ) - .arg( - Arg::with_name("AUTO_REPAIR") - .help("Auto repair trivial issues.") - .long("auto-repair"), - ) .arg( Arg::with_name("QUIET") .help("Suppress output messages, return only exit code.") .short("q") .long("quiet"), + ) + .arg( + Arg::with_name("SB_ONLY") + .help("Only check the superblock.") + .long("super-block-only"), + ) + .arg( + Arg::with_name("SKIP_MAPPINGS") + .help("Don't check the mapping array") + .long("skip-mappings"), + ) + .arg( + Arg::with_name("SKIP_HINTS") + .help("Don't check the hint array") + .long("skip-hints"), + ) + .arg( + Arg::with_name("SKIP_DISCARDS") + .help("Don't check the discard bitset") + .long("skip-discards"), + ) + // arguments + .arg( + Arg::with_name("INPUT") + .help("Specify the input device to check") + .required(true) + .index(1), ); let matches = parser.get_matches(); diff --git a/src/bin/cache_dump.rs b/src/bin/cache_dump.rs index be6ceca..93644ec 100644 --- a/src/bin/cache_dump.rs +++ b/src/bin/cache_dump.rs @@ -11,6 +11,7 @@ fn main() { let parser = App::new("cache_dump") .version(thinp::version::tools_version()) .about("Dump the cache metadata to stdout in XML format") + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") @@ -23,6 +24,7 @@ fn main() { .short("r") .long("repair"), ) + // options .arg( Arg::with_name("OUTPUT") .help("Specify the output file rather than stdout") @@ -30,6 +32,7 @@ fn main() { .long("output") .value_name("OUTPUT"), ) + // arguments .arg( Arg::with_name("INPUT") .help("Specify the input device to dump") diff --git a/src/bin/cache_restore.rs b/src/bin/cache_restore.rs index d5eda5e..e1f4209 100644 --- a/src/bin/cache_restore.rs +++ b/src/bin/cache_restore.rs @@ -15,6 +15,7 @@ fn main() { let parser = App::new("cache_restore") .version(thinp::version::tools_version()) .about("Convert XML format metadata to binary.") + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") @@ -28,6 +29,7 @@ fn main() { .value_name("OVERRIDE_MAPPING_ROOT") .takes_value(true), ) + // options .arg( Arg::with_name("INPUT") .help("Specify the input xml") diff --git a/src/bin/thin_check.rs b/src/bin/thin_check.rs index c3ab573..7887be3 100644 --- a/src/bin/thin_check.rs +++ b/src/bin/thin_check.rs @@ -16,12 +16,28 @@ fn main() { let parser = App::new("thin_check") .version(thinp::version::tools_version()) .about("Validates thin provisioning metadata on a device or file.") + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") .long("async-io") .hidden(true), ) + .arg( + Arg::with_name("AUTO_REPAIR") + .help("Auto repair trivial issues.") + .long("auto-repair"), + ) + .arg( + Arg::with_name("CLEAR_NEEDS_CHECK") + .help("Clears the 'needs_check' flag in the superblock") + .long("clear-needs-check-flag"), + ) + .arg( + Arg::with_name("IGNORE_NON_FATAL") + .help("Only return a non-zero exit code if a fatal error is found.") + .long("ignore-non-fatal-errors"), + ) .arg( Arg::with_name("QUIET") .help("Suppress output messages, return only exit code.") @@ -38,20 +54,13 @@ fn main() { .help("Don't check the mapping tree") .long("skip-mappings"), ) + // options .arg( - Arg::with_name("AUTO_REPAIR") - .help("Auto repair trivial issues.") - .long("auto-repair"), - ) - .arg( - Arg::with_name("IGNORE_NON_FATAL") - .help("Only return a non-zero exit code if a fatal error is found.") - .long("ignore-non-fatal-errors"), - ) - .arg( - Arg::with_name("CLEAR_NEEDS_CHECK") - .help("Clears the 'needs_check' flag in the superblock") - .long("clear-needs-check-flag"), + Arg::with_name("METADATA_SNAPSHOT") + .help("Check the metadata snapshot on a live pool") + .short("m") + .long("metadata-snapshot") + .value_name("METADATA_SNAPSHOT"), ) .arg( Arg::with_name("OVERRIDE_MAPPING_ROOT") @@ -60,13 +69,7 @@ fn main() { .value_name("OVERRIDE_MAPPING_ROOT") .takes_value(true), ) - .arg( - Arg::with_name("METADATA_SNAPSHOT") - .help("Check the metadata snapshot on a live pool") - .short("m") - .long("metadata-snapshot") - .value_name("METADATA_SNAPSHOT"), - ) + // arguments .arg( Arg::with_name("INPUT") .help("Specify the input device to check") diff --git a/src/bin/thin_dump.rs b/src/bin/thin_dump.rs index af238dd..606ea42 100644 --- a/src/bin/thin_dump.rs +++ b/src/bin/thin_dump.rs @@ -15,6 +15,7 @@ fn main() { let parser = App::new("thin_dump") .version(thinp::version::tools_version()) .about("Dump thin-provisioning metadata to stdout in XML format") + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") @@ -38,6 +39,7 @@ fn main() { .help("Do not dump the mappings") .long("skip-mappings"), ) + // options .arg( Arg::with_name("METADATA_SNAPSHOT") .help("Access the metadata snapshot on a live pool") @@ -52,6 +54,7 @@ fn main() { .long("output") .value_name("OUTPUT"), ) + // arguments .arg( Arg::with_name("INPUT") .help("Specify the input device to dump") diff --git a/src/bin/thin_restore.rs b/src/bin/thin_restore.rs index 8654613..093f376 100644 --- a/src/bin/thin_restore.rs +++ b/src/bin/thin_restore.rs @@ -15,19 +15,14 @@ fn main() { let parser = App::new("thin_restore") .version(thinp::version::tools_version()) .about("Convert XML format metadata to binary.") + // flags .arg( Arg::with_name("ASYNC_IO") .help("Force use of io_uring for synchronous io") .long("async-io") .hidden(true), ) - .arg( - Arg::with_name("OVERRIDE_MAPPING_ROOT") - .help("Specify a mapping root to use") - .long("override-mapping-root") - .value_name("OVERRIDE_MAPPING_ROOT") - .takes_value(true), - ) + // options .arg( Arg::with_name("INPUT") .help("Specify the input xml") @@ -43,6 +38,13 @@ fn main() { .long("output") .value_name("OUTPUT") .required(true), + ) + .arg( + Arg::with_name("OVERRIDE_MAPPING_ROOT") + .help("Specify a mapping root to use") + .long("override-mapping-root") + .value_name("OVERRIDE_MAPPING_ROOT") + .takes_value(true), ); let matches = parser.get_matches();