Linux

掛載覆蓋失敗

  • April 13, 2022

我在 MTD 分區上安裝了讀寫 JFFS2 FS。稍後在啟動序列中,我將一個只讀 FS 覆蓋到這個讀寫 FS 中。

mount -t overlay overlay -olowerdir=/lower,upperdir=/upper,workdir=/work /merged

當我的讀寫 FS 幾乎(如 99%)已滿時,我看到掛載覆蓋失敗。掛載覆蓋失敗錯誤輸出表明它無法在“workdir”中創建新目錄,因為它已滿。‘workdir’ 是同一個讀寫分區的一部分。

有人如何估計“workdir”中需要多少空間,以便安裝覆蓋不會失敗。覆蓋文件建議將“workdir”用於暫存目的。

如何使其故障安全?

我使用這個 overlay-fs 作為我的 rootfs,所以這裡的掛載失敗會導致核心崩潰。

確保 /work 目錄始終存在。如果需要,可以在覆蓋之前清理此目錄。overlay 所做的第一件事是創建 /work 目錄(如果它不存在)。如果 rw-fs 已滿,則失敗來自此目錄創建,因為 fs 不允許創建新目錄。如果可以確保 /work 目錄始終存在,那麼即使讀寫 fs 已滿,掛載覆蓋仍然可以工作。

引用自:https://unix.stackexchange.com/questions/698107