Linux文件系统覆盖-workdir的作用是什么?(OverlayFS)


35

OverlayFS workdir在其他两个目录lowerdir和旁边有一个选项,upperdir该目录必须为空目录。

不幸的是,overlayfs的内核文档没有太多讨论此选项的用途。

“ workdir”必须是与upperdir相同的文件系统上的空目录。

对于只读覆盖workdir可能在中间省略upperdir。这给了我与编写合并文件有关的线索。

请解释workdir在合并目录中写入或更改文件时的情况。为什么可写性upperdir不够?

Answers:


27

workdir选项是必需的,用于在原子操作中将文件切换到覆盖目标之前准备文件(workdir必须与upperdir在同一文件系统上)。

资料来源:http : //windsock.io/the-overlay-filesystem/

我可能会猜测“覆盖目标”的意思upperdir

所以...某些文件(也许是“ whiteout”文件?)是非原子创建和配置的workdir,然后原子移动到的upperdir


-3

因为当您删除lowerdir上的文件时,此信息将存储在工作目录中。


1
嗯,但是当我删除合并目录中的文件时,工作目录仍然为空,但是当从下层目录中“覆盖删除” 文件时,上层目录中会显示带有c标志(c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted)的文件。(当然,该文件仍保留在lowerdir中。)
最终尝试

我认为当您删除文件时,会创建一个“ whiteout”文件,并将其存储在upperdir中,而不是workdir中。断电文件是一个字符设备(带有“ c”标志)
ejm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.