我在 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,所以这里挂载失败会导致内核恐慌。
答案1
确保 /work 目录始终存在。如果需要,可以在覆盖之前清理此目录。 Overlay 做的第一件事是创建 /work 目录(如果它不存在)。如果 rw-fs 已满,则此目录创建失败,因为 fs 不允许创建新目录。如果可以确保 /work 目录始终存在,那么即使读写文件系统已满,挂载覆盖仍然可以工作。