Skip to content
This repository was archived by the owner on May 12, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/utils/link/pcie.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::utils::link::LinkData;
use crate::utils::read_parsed;
use anyhow::{Context, Error, anyhow, bail};
use log::trace;
use process_data::pci_slot::PciSlot;
Expand Down Expand Up @@ -38,20 +39,20 @@ impl LinkData<PcieLinkData> {
let path = path.as_ref();
trace!("Reading PCIe link data for {path:?}…");

let current_pcie_speed_raw = std::fs::read_to_string(path.join("current_link_speed"))
let current_pcie_speed_raw = read_parsed::<String>(path.join("current_link_speed"))
.map(|x| x.trim().to_string())
.context("Could not read current link speed")?;

let current_pcie_width_raw = std::fs::read_to_string(path.join("current_link_width"))
let current_pcie_width_raw = read_parsed::<String>(path.join("current_link_width"))
.map(|x| x.trim().to_string())
.context("Could not read current link width")?;

//Consider max values as optional
let max_pcie_speed_raw = std::fs::read_to_string(path.join("max_link_speed"))
let max_pcie_speed_raw = read_parsed::<String>(path.join("max_link_speed"))
.map(|x| x.trim().to_string())
.context("Could not read max link speed");

let max_pcie_width_raw = std::fs::read_to_string(path.join("max_link_width"))
let max_pcie_width_raw = read_parsed::<String>(path.join("max_link_width"))
.map(|x| x.trim().to_string())
.context("Could not read max link width");

Expand Down
5 changes: 3 additions & 2 deletions src/utils/link/sata.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::utils::drive::AtaSlot;
use crate::utils::link::LinkData;
use crate::utils::link::sata::SataSpeed::{Sata150, Sata300, Sata600};
use crate::utils::read_parsed;
use anyhow::{Context, Error, anyhow};
use log::trace;
use std::fmt::{Display, Formatter};
Expand All @@ -21,11 +22,11 @@ impl LinkData<SataSpeed> {
let ata_link_path =
Path::new("/sys/class/ata_link").join(format!("link{}", ata_slot.ata_link));

let current_sata_speed_raw = std::fs::read_to_string(ata_link_path.join("sata_spd"))
let current_sata_speed_raw = read_parsed::<String>(ata_link_path.join("sata_spd"))
.map(|x| x.trim().to_string())
.context("Could not read sata_spd")?;

let max_sata_speed_raw = std::fs::read_to_string(ata_link_path.join("sata_spd_max"))
let max_sata_speed_raw = read_parsed::<String>(ata_link_path.join("sata_spd_max"))
.map(|x| x.trim().to_string())
.context("Could not read sata_spd_max");

Expand Down
5 changes: 3 additions & 2 deletions src/utils/link/usb.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use crate::utils::drive::UsbSlot;
use crate::utils::link::LinkData;
use crate::utils::read_parsed;
use crate::utils::units::convert_speed_bits_decimal_with_places;
use anyhow::{Context, Error, anyhow};
use log::trace;
Expand Down Expand Up @@ -27,12 +28,12 @@ impl LinkData<UsbSpeed> {
let usb_bus_path =
Path::new("/sys/bus/usb/devices/").join(format!("usb{}", usb_slot.usb_bus));

let max_usb_port_speed_raw = std::fs::read_to_string(usb_bus_path.join("speed"))
let max_usb_port_speed_raw = read_parsed::<String>(usb_bus_path.join("speed"))
.map(|x| x.trim().to_string())
.context("Could not read usb port speed");

let usb_device_speed =
std::fs::read_to_string(usb_bus_path.join(&usb_slot.usb_device).join("speed"))
read_parsed::<String>(usb_bus_path.join(&usb_slot.usb_device).join("speed"))
.map(|x| x.trim().to_string())
.context("Could not read usb device speed")?;

Expand Down
Loading