Skip to content

Commit b3bfbdf

Browse files
committed
efi: add drop() before unmounting /boot/efi
Fix error: ``` umount: /boot/efi: target is busy. error: unmount after validate: Failed to unmount "/boot/efi": Child ["umount" "/boot/efi"] exited: exit status: 32 ```
1 parent 5ec2b6a commit b3bfbdf

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/efi.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use std::path::{Path, PathBuf};
1010
use std::process::Command;
1111

1212
use anyhow::{bail, Context, Result};
13+
use bootc_utils::CommandRunExt;
1314
use cap_std::fs::Dir;
1415
use cap_std_ext::cap_std;
1516
use fn_error_context::context;
@@ -22,7 +23,7 @@ use widestring::U16CString;
2223
use crate::bootupd::RootContext;
2324
use crate::model::*;
2425
use crate::ostreeutil;
25-
use crate::util::{self, CommandRunExt};
26+
use crate::util;
2627
use crate::{blockdev, filetree};
2728
use crate::{component::*, packagesystem};
2829

@@ -422,7 +423,7 @@ impl Component for Efi {
422423
for esp in esp_devices.iter() {
423424
let destpath = &self.ensure_mounted_esp(Path::new("/"), Path::new(&esp))?;
424425

425-
let efidir = &openat::Dir::open(&destpath.join("EFI"))
426+
let efidir = openat::Dir::open(&destpath.join("EFI"))
426427
.with_context(|| format!("opening EFI dir {}", destpath.display()))?;
427428
let diff = currentf.relative_diff_to(&efidir)?;
428429

@@ -433,6 +434,7 @@ impl Component for Efi {
433434
errs.push(format!("Removed: {}", f));
434435
}
435436
assert_eq!(diff.additions.len(), 0);
437+
drop(efidir);
436438
self.unmount().context("unmount after validate")?;
437439
}
438440

src/util.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use std::process::Command;
55
use anyhow::{bail, Context, Result};
66
use openat_ext::OpenatDirExt;
77

8+
#[allow(dead_code)]
89
pub(crate) trait CommandRunExt {
910
fn run(&mut self) -> Result<()>;
1011
}

0 commit comments

Comments
 (0)