diff options
author | Tony Asleson <tasleson@redhat.com> | 2024-05-07 10:04:44 -0500 |
---|---|---|
committer | Tony Asleson <tasleson@redhat.com> | 2024-05-07 12:20:49 -0500 |
commit | 128b569155d84b0d2b6e65c28b26619fe576f7e5 (patch) | |
tree | 8285dd2d23e7515d2ff40628d3151d5e863a62b6 | |
parent | 3d63b901c6217a0ea7f169f5e4c66ca1d4ea1088 (diff) |
mount: Make udev_bcachefs_info more idiomatic
Signed-off-by: Tony Asleson <tasleson@redhat.com>
-rw-r--r-- | src/commands/mount.rs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/commands/mount.rs b/src/commands/mount.rs index c6e0a37d..9414c77f 100644 --- a/src/commands/mount.rs +++ b/src/commands/mount.rs @@ -136,18 +136,16 @@ fn udev_bcachefs_info() -> anyhow::Result<HashMap<String, Vec<String>>> { udev.match_subsystem("block")?; udev.match_property("ID_FS_TYPE", "bcachefs")?; - for dev in udev.scan_devices()? { - if !dev.is_initialized() { - continue; - } - - let m = device_property_map(&dev); - if m.contains_key("ID_FS_UUID") && m.contains_key("DEVNAME") { - let fs_uuid = m["ID_FS_UUID"].clone(); - let dev_node = m["DEVNAME"].clone(); - info.insert(dev_node.clone(), vec![fs_uuid.clone()]); - info.entry(fs_uuid).or_insert(vec![]).push(dev_node.clone()); - } + for m in udev + .scan_devices()? + .filter(|dev| dev.is_initialized()) + .map(|dev| device_property_map(&dev)) + .filter(|m| m.contains_key("ID_FS_UUID") && m.contains_key("DEVNAME")) + { + let fs_uuid = m["ID_FS_UUID"].clone(); + let dev_node = m["DEVNAME"].clone(); + info.insert(dev_node.clone(), vec![fs_uuid.clone()]); + info.entry(fs_uuid).or_insert(vec![]).push(dev_node.clone()); } Ok(info) |