summaryrefslogtreecommitdiff
path: root/src/commands/mount.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/mount.rs')
-rw-r--r--src/commands/mount.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/commands/mount.rs b/src/commands/mount.rs
index 9414c77f..05c586a8 100644
--- a/src/commands/mount.rs
+++ b/src/commands/mount.rs
@@ -4,7 +4,7 @@ use std::collections::HashMap;
use clap::Parser;
use uuid::Uuid;
use std::io::{stdout, IsTerminal};
-use std::path::PathBuf;
+use std::path::{Path, PathBuf};
use std::{fs, str, env};
use crate::key;
use crate::key::UnlockPolicy;
@@ -50,7 +50,7 @@ fn parse_mount_options(options: impl AsRef<str>) -> (Option<String>, libc::c_ulo
debug!("parsing mount options: {}", options.as_ref());
let (opts, flags) = options
.as_ref()
- .split(",")
+ .split(',')
.map(|o| match o {
"dirsync" => Left(libc::MS_DIRSYNC),
"lazytime" => Left(1 << 25), // MS_LAZYTIME
@@ -67,7 +67,7 @@ fn parse_mount_options(options: impl AsRef<str>) -> (Option<String>, libc::c_ulo
"strictatime" => Left(libc::MS_STRICTATIME),
"sync" => Left(libc::MS_SYNCHRONOUS),
"" => Left(0),
- o @ _ => Right(o),
+ o => Right(o),
})
.fold((Vec::new(), 0), |(mut opts, flags), next| match next {
Left(f) => (opts, flags | f),
@@ -78,7 +78,7 @@ fn parse_mount_options(options: impl AsRef<str>) -> (Option<String>, libc::c_ulo
});
(
- if opts.len() == 0 {
+ if opts.is_empty() {
None
} else {
Some(opts.join(","))
@@ -101,11 +101,11 @@ fn do_mount(
mount_inner(device, target, "bcachefs", mountflags, data)
}
-fn read_super_silent(path: &std::path::PathBuf) -> anyhow::Result<bch_sb_handle> {
+fn read_super_silent(path: impl AsRef<Path>) -> anyhow::Result<bch_sb_handle> {
let mut opts = bcachefs::bch_opts::default();
opt_set!(opts, noexcl, 1);
- bch_bindgen::sb_io::read_super_silent(&path, opts)
+ bch_bindgen::sb_io::read_super_silent(path.as_ref(), opts)
}
fn device_property_map(dev: &udev::Device) -> HashMap<String, String> {
@@ -158,7 +158,7 @@ fn get_super_blocks(
Ok(devices
.iter()
.filter_map(|dev| {
- read_super_silent(&PathBuf::from(dev))
+ read_super_silent(PathBuf::from(dev))
.ok()
.map(|sb| (PathBuf::from(dev), sb))
})
@@ -203,6 +203,7 @@ fn get_devices_by_uuid(
get_super_blocks(uuid, &devices)
}
+#[allow(clippy::type_complexity)]
fn get_uuid_for_dev_node(
udev_bcachefs: &HashMap<String, Vec<String>>,
device: &std::path::PathBuf,
@@ -327,7 +328,7 @@ fn cmd_mount_inner(opt: Cli) -> anyhow::Result<()> {
// If they supply a single device it could be either the FS only has 1 device or it's
// only 1 of a number of devices which are part of the FS. This appears to be the case
// when we get called during fstab mount processing and the fstab specifies a UUID.
- if opt.dev.contains(":") {
+ if opt.dev.contains(':') {
let mut block_devices_to_mount = Vec::new();
for dev in opt.dev.split(':') {
@@ -341,7 +342,7 @@ fn cmd_mount_inner(opt: Cli) -> anyhow::Result<()> {
}
};
- if block_devices_to_mount.len() == 0 {
+ if block_devices_to_mount.is_empty() {
Err(anyhow::anyhow!("No device found from specified parameters"))?;
}
// Check if the filesystem's master key is encrypted