udev-shim: Only log hotplug events when device count changes
Track the last PCI device count and only emit log messages when devices are added or removed, eliminating redundant 2-second poll noise.
This commit is contained in:
@@ -129,13 +129,22 @@ fn main() {
|
||||
let scheme = Arc::new(Mutex::new(scheme));
|
||||
let scheme_clone = Arc::clone(&scheme);
|
||||
thread::spawn(move || {
|
||||
let mut last_count = 0usize;
|
||||
loop {
|
||||
thread::sleep(Duration::from_secs(2));
|
||||
if let Ok(mut s) = scheme_clone.lock() {
|
||||
match s.scan_pci_devices() {
|
||||
Ok(n) if n > 0 => info!("udev-shim: hotplug detected {} device(s)", n),
|
||||
Ok(n) => {
|
||||
if n != last_count {
|
||||
if n > last_count {
|
||||
info!("udev-shim: hotplug detected {} device(s) (total {})", n - last_count, n);
|
||||
} else {
|
||||
info!("udev-shim: device removal detected, {} device(s) remaining", n);
|
||||
}
|
||||
last_count = n;
|
||||
}
|
||||
}
|
||||
Err(e) => error!("udev-shim: hotplug scan failed: {}", e),
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user