diff options
author | Christopher James Halse Rogers <raof@ubuntu.com> | 2023-09-01 16:51:32 +1000 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-09-03 18:27:10 -0400 |
commit | 28e6dea65319f425c922f59c8352c9a1969f92d4 (patch) | |
tree | 7dfb25cd80287cbfcac77cf7f138e82c3e747acf | |
parent | e0e3032926d77ad424f5127ed8a5b4e44b6be476 (diff) | |
download | bcachefs-tools-28e6dea65319f425c922f59c8352c9a1969f92d4.tar.gz |
cmd_mount: Fix test-only mount path
The comman line help claims that `bcachefs mount <DEV>` without a
mount point will do a dry-run mount - all the steps required to
mount the fs, but without actually doing the final real mount.
Make the code actually do this, rather than complain that you
haven't supplied a mountpoint if you don't provide a mountpoint
Signed-off-by: Christopher James Halse Rogers <raof@ubuntu.com>
-rw-r--r-- | rust-src/src/cmd_mount.rs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/rust-src/src/cmd_mount.rs b/rust-src/src/cmd_mount.rs index b79985d8..bb23c1a1 100644 --- a/rust-src/src/cmd_mount.rs +++ b/rust-src/src/cmd_mount.rs @@ -145,7 +145,7 @@ struct Cli { /// Where the filesystem should be mounted. If not set, then the filesystem /// won't actually be mounted. But all steps preceeding mounting the /// filesystem (e.g. asking for passphrase) will still be performed. - mountpoint: std::path::PathBuf, + mountpoint: Option<std::path::PathBuf>, /// Mount options #[arg(short, default_value = "")] @@ -207,14 +207,23 @@ fn cmd_mount_inner(opt: Cli) -> anyhow::Result<()> { key::prepare_key(&sbs[0], key)?; } - info!( - "mounting with params: device: {}, target: {}, options: {}", - devs, - &opt.mountpoint.to_string_lossy(), - &opt.options - ); + if let Some(mountpoint) = opt.mountpoint { + info!( + "mounting with params: device: {}, target: {}, options: {}", + devs, + mountpoint.to_string_lossy(), + &opt.options + ); + + mount(devs, mountpoint, &opt.options)?; + } else { + info!( + "would mount with params: device: {}, options: {}", + devs, + &opt.options + ); + } - mount(devs, &opt.mountpoint, &opt.options)?; Ok(()) } |