Compare commits
3 commits
8209da3b21
...
f7c9605f26
Author | SHA1 | Date | |
---|---|---|---|
f7c9605f26 | |||
f4374459dd | |||
89be5b3542 |
2 changed files with 10 additions and 2 deletions
|
@ -1,7 +1,7 @@
|
||||||
[package]
|
[package]
|
||||||
name = "phenix"
|
name = "phenix"
|
||||||
description = "Utility to restart PCIe devices when link is lost."
|
description = "Utility to restart PCIe devices when link is lost."
|
||||||
version = "0.1.5"
|
version = "0.2.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "GPL-3.0-or-later"
|
license = "GPL-3.0-or-later"
|
||||||
repository="https://code.edgarpierre.fr/edpibu/phenix"
|
repository="https://code.edgarpierre.fr/edpibu/phenix"
|
||||||
|
|
10
src/main.rs
10
src/main.rs
|
@ -1,13 +1,20 @@
|
||||||
#![feature(file_buffered)]
|
#![feature(file_buffered)]
|
||||||
|
use std::env;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::BufRead;
|
use std::io::BufRead;
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
|
use std::io::Seek;
|
||||||
|
use std::io::SeekFrom;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Reading kernel messages...");
|
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();
|
let lines = kmsg_file.lines();
|
||||||
for line in lines {
|
for line in lines {
|
||||||
match line {
|
match line {
|
||||||
|
@ -18,6 +25,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn manage_line(line: String) {
|
fn manage_line(line: String) {
|
||||||
|
dbg!(&line);
|
||||||
if let Some((prefix, line)) = line.split_once(";") {
|
if let Some((prefix, line)) = line.split_once(";") {
|
||||||
if line.ends_with("PCIe link lost") {
|
if line.ends_with("PCIe link lost") {
|
||||||
println!("PCIe link lost {prefix}");
|
println!("PCIe link lost {prefix}");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue