ksud: sort the stock mounts correctly.

This commit is contained in:
tiann
2023-04-11 21:23:30 +08:00
parent 2f1e64dc1b
commit 273a0b0b99

View File

@@ -259,7 +259,10 @@ impl StockMount {
.destination_starts_with(std::path::Path::new(mnt))
.filter(|m| m.fstype != "overlay" && m.fstype != "rootfs")
.collect::<Vec<_>>();
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)?;