From 273a0b0b9928a198ae0f5e040de989d540cf082f Mon Sep 17 00:00:00 2001 From: tiann Date: Tue, 11 Apr 2023 21:23:30 +0800 Subject: [PATCH] ksud: sort the stock mounts correctly. --- userspace/ksud/src/mount.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/userspace/ksud/src/mount.rs b/userspace/ksud/src/mount.rs index 75a4b3a9..c70811bd 100644 --- a/userspace/ksud/src/mount.rs +++ b/userspace/ksud/src/mount.rs @@ -259,7 +259,10 @@ impl StockMount { .destination_starts_with(std::path::Path::new(mnt)) .filter(|m| m.fstype != "overlay" && m.fstype != "rootfs") .collect::>(); - mounts.sort_by(|a, b| b.dest.cmp(&a.dest)); // inverse order + + // sort it by dest length, so we can mount it in order + // TODO: there are maybe submounts, we don't need to mount them, so we can skip them. + mounts.sort_by(|a, b| a.dest.as_os_str().len().cmp(&b.dest.as_os_str().len())); let mntroot = std::path::Path::new(crate::defs::STOCK_MNT_ROOT); utils::ensure_dir_exists(mntroot)?;