Compare commits

...

3 commits

2 changed files with 10 additions and 2 deletions

View file

@ -1,7 +1,7 @@
[package]
name = "phenix"
description = "Utility to restart PCIe devices when link is lost."
version = "0.1.5"
version = "0.2.0"
edition = "2024"
license = "GPL-3.0-or-later"
repository="https://code.edgarpierre.fr/edpibu/phenix"

View file

@ -1,13 +1,20 @@
#![feature(file_buffered)]
use std::env;
use std::fs::File;
use std::io::BufRead;
use std::io::Write;
use std::io::Seek;
use std::io::SeekFrom;
fn main() {
println!("Reading kernel messages...");
let kmsg_file = File::open_buffered("/dev/kmsg").expect("Failed to open /dev/kmsg");
let mut kmsg_file =
File::open_buffered(env::var("PHENIX_KMSG").unwrap_or(String::from("/dev/kmsg")))
.expect("Failed to open /dev/kmsg");
kmsg_file.seek(SeekFrom::End(0)).expect("Failed to seek to end");
let lines = kmsg_file.lines();
for line in lines {
match line {
@ -18,6 +25,7 @@ fn main() {
}
fn manage_line(line: String) {
dbg!(&line);
if let Some((prefix, line)) = line.split_once(";") {
if line.ends_with("PCIe link lost") {
println!("PCIe link lost {prefix}");