This commit is contained in:
Mikaël Cluseau
2026-06-11 12:08:42 +02:00
parent ee0ff1373f
commit 19193a9560
14 changed files with 95 additions and 94 deletions
+6 -4
View File
@@ -1,4 +1,4 @@
use eyre::{format_err, Result};
use eyre::{Result, format_err};
use log::{error, info, warn};
use std::collections::BTreeSet as Set;
use std::convert::Infallible;
@@ -209,6 +209,8 @@ async fn mount<S: AsRef<Path>>(
is_file = (fs::metadata(src).await)
.map_err(|e| format_err!("stat {src} failed: {e}"))?
.is_file();
#[allow(clippy::single_match)] // may be extended later
match fstype {
"ext4" => {
exec("fsck.ext4", &["-p", src]).await;
@@ -385,9 +387,9 @@ fn cmd_str(prog: &str, args: &[&str]) -> (String, Command) {
#[allow(unused)]
async fn child_reaper() {
use nix::sys::wait::{waitpid, WaitPidFlag};
use nix::sys::wait::{WaitPidFlag, waitpid};
use nix::unistd::Pid;
use tokio::signal::unix::{signal, SignalKind};
use tokio::signal::unix::{SignalKind, signal};
let Ok(mut sigs) =
signal(SignalKind::child()).inspect_err(|e| warn!("failed to setup SIGCHLD handler: {e}"))
@@ -405,7 +407,7 @@ async fn switch_root(root: &str) -> Result<Infallible> {
info!("killing all processes and switching root");
dklog::LOG.close().await;
use nix::sys::signal::{kill, SIGKILL};
use nix::sys::signal::{SIGKILL, kill};
use nix::unistd::Pid;
if let Err(e) = kill(Pid::from_raw(-1), SIGKILL) {