ksud: Don't umount stock bind mount, just bind it again after overlay.

This commit is contained in:
tiann
2023-03-27 18:43:37 +08:00
parent c4c597da9e
commit 726f44bc60
2 changed files with 2 additions and 27 deletions

View File

@@ -20,16 +20,10 @@ fn mount_partition(partition: &str, lowerdir: &mut Vec<String>) -> Result<()> {
}
// handle stock mounts under /partition, we should restore the mount point after overlay
// because the overlayfs mount will "overlay" the bind mount such as /vendor/bt_firmware, /vendor/dsp
// which will cause the system bootloop or bluetooth/dsp not working
let stock_mount = mount::StockMount::new(&format!("/{partition}/"))
.with_context(|| format!("get stock mount of partition: {partition} failed"))?;
let result = stock_mount.umount();
if result.is_err() {
let remount_result = stock_mount.remount();
if let Err(e) = remount_result {
log::error!("remount stock failed: {:?}", e);
}
bail!("umount stock mount of failed: {:?}", result);
}
// add /partition as the lowerest dir
let lowest_dir = format!("/{partition}");