summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkoverstreet <kent.overstreet@gmail.com>2024-05-22 16:44:35 -0400
committerGitHub <noreply@github.com>2024-05-22 16:44:35 -0400
commit7d795ddb25a9533a6103a3ab00c8401ae8e1f35b (patch)
tree48e17a99e162eff186be3d1f493df8cd247555e5
parent3ac510f6a41feb1b695381fa30869d557c00b822 (diff)
parent3882d1b1e4a8a0b8453d08fdf380bb1b3e3be510 (diff)
Merge pull request #271 from tmuehlbacher/cargo-clippy
Fix clippy lints
-rw-r--r--src/commands/mount.rs19
-rw-r--r--src/key.rs8
2 files changed, 14 insertions, 13 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
diff --git a/src/key.rs b/src/key.rs
index d0018805..8019a7e6 100644
--- a/src/key.rs
+++ b/src/key.rs
@@ -98,7 +98,7 @@ fn ask_for_passphrase(sb: &bch_sb_handle) -> anyhow::Result<()> {
}
const BCH_KEY_MAGIC: &str = "bch**key";
-fn unlock_master_key(sb: &bch_sb_handle, passphrase: &String) -> anyhow::Result<()> {
+fn unlock_master_key(sb: &bch_sb_handle, passphrase: &str) -> anyhow::Result<()> {
use bch_bindgen::bcachefs::{self, bch2_chacha_encrypt_key, bch_encrypted_key, bch_key};
use byteorder::{LittleEndian, ReadBytesExt};
use std::os::raw::c_char;
@@ -118,13 +118,13 @@ fn unlock_master_key(sb: &bch_sb_handle, passphrase: &String) -> anyhow::Result<
)
};
- let mut key = crypt.key().clone();
+ let mut key = *crypt.key();
let ret = unsafe {
bch2_chacha_encrypt_key(
&mut output as *mut _,
sb.sb().nonce(),
&mut key as *mut _ as *mut _,
- std::mem::size_of::<bch_encrypted_key>() as usize,
+ std::mem::size_of::<bch_encrypted_key>(),
)
};
if ret != 0 {
@@ -138,7 +138,7 @@ fn unlock_master_key(sb: &bch_sb_handle, passphrase: &String) -> anyhow::Result<
key_type,
key_name.as_c_str().to_bytes_with_nul() as *const _ as *const c_char,
&output as *const _ as *const _,
- std::mem::size_of::<bch_key>() as usize,
+ std::mem::size_of::<bch_key>(),
bch_bindgen::keyutils::KEY_SPEC_USER_KEYRING,
)
};