Оверлей файловой системы Linux - для чего используется workdir? (OverlayFS)

35

OverlayFS имеет workdirопцию, рядом с двумя другими каталогами lowerdirи upperdir, который должен быть пустой каталог.

К сожалению, в документации ядра overlayfs мало говорится о назначении этой опции.

«Рабочий каталог» должен быть пустым каталогом в той же файловой системе, что и каталог верхнего каталога.

Для оверлеев workdir, доступных только для чтения, среди них может быть ommittet upperdir. Это дает мне подсказку, что это связано с записью объединенных файлов.

Пожалуйста, объясните, что происходит, workdirкогда файлы записываются или изменяются в объединенном каталоге. Почему upperdirнедостаточно для записи ?

примерочных всеобъемлющая наконец
источник

Ответы:

27

Опция workdir является обязательной и используется для подготовки файлов до того, как они будут переключены на место наложения в элементарном действии (рабочий каталог должен находиться в той же файловой системе, что и верхний каталог).

Источник: http://windsock.io/the-overlay-filesystem/

Я бы рискнул догадаться, что означает «место наложения» upperdir.

Итак ... определенные файлы (может быть, «белые» файлы) создаются не атомарно и настраиваются, workdirа затем атомарно перемещаются в upperdir.

MPB
источник
-3

Потому что, когда вы удаляете файл, который находится в нижнем каталоге, эта информация будет сохранена в рабочем каталоге.

Ипор Сирсер
источник
1
Хм, но когда я удаляю файлы в объединенном каталоге, рабочий каталог остается пустым, но в верхнем каталоге появляются файлы с cфлагом ( c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted), когда они были "удалены наложением" из нижнего каталога. (Конечно, тот же файл остается в нижнем каталоге.)
try-catch-finally
Я думаю, что когда вы удаляете файл, создается «белый» файл, который сохраняется в верхнем каталоге, а не в рабочем. Файл whiteout представляет собой символьное устройство (с флагом «c»)
ejm