aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Halse Rogers <raof@ubuntu.com>2023-09-01 16:51:32 +1000
committerKent Overstreet <kent.overstreet@linux.dev>2023-09-03 18:27:10 -0400
commit28e6dea65319f425c922f59c8352c9a1969f92d4 (patch)
tree7dfb25cd80287cbfcac77cf7f138e82c3e747acf
parente0e3032926d77ad424f5127ed8a5b4e44b6be476 (diff)
downloadbcachefs-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.rs25
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(())
}