Superposición del sistema de archivos de Linux: ¿para qué se utiliza workdir? (OverlayFS)


35

OverlayFS tiene una workdiropción, además de otros dos directorios lowerdiry upperdir, que debe ser un directorio vacío.

Desafortunadamente, la documentación del kernel de overlayfs no habla mucho sobre el propósito de esta opción.

El "workdir" debe ser un directorio vacío en el mismo sistema de archivos que upperdir.

Para las superposiciones de solo lectura, se workdirpodría omitir entre los upperdir. Esto me da la pista de que tiene que ver con escribir los archivos combinados.

Explique qué sucede workdircuando los archivos se escriben o cambian en el directorio combinado. ¿Por qué la escritura upperdirno es suficiente?

Respuestas:


27

Se requiere la opción workdir y se usa para preparar archivos antes de que se cambien al destino de superposición en una acción atómica (el workdir debe estar en el mismo sistema de archivos que el upperdir).

Fuente: http://windsock.io/the-overlay-filesystem/

Me arriesgaría a adivinar que significa "el destino de la superposición" upperdir.

Entonces ... ciertos archivos (¿tal vez archivos "apagados"?) Se crean y configuran de manera no atómica workdiry luego se mueven atómicamente upperdir.


-3

Porque cuando elimina un archivo que está en lowerdir, esta información se almacenará en el workdir.


1
Hm, pero cuando elimino archivos en el directorio combinado, el workdir permanece vacío pero hay archivos que se muestran en el upperdir con un cindicador ( c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted) cuando se han "eliminado por superposición" del directorio inferior. (El mismo archivo permanece en el lowerdir por supuesto.)
try-catch-finally

Creo que cuando eliminas un archivo, se crea un archivo "whiteout" y se almacena en la parte superior, no en la dirección de trabajo. El archivo de apagón es un dispositivo de caracteres (con la bandera "c")
ejm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.