Overlay del filesystem Linux - a cosa serve workdir? (OverlayFS)


35

OverlayFS ha workdirun'opzione, oltre ad altre due directory lowerdire upperdir, che deve essere una directory vuota.

Sfortunatamente la documentazione del kernel di overlayfs non parla molto dello scopo di questa opzione.

"Workdir" deve essere una directory vuota sullo stesso filesystem di upperdir.

Per le sovrapposizioni di sola lettura workdirpotrebbe essere ommittet tra i upperdir. Questo mi dà la chiave che ha a che fare con la scrittura dei file uniti.

Spiegare cosa sta succedendo nel workdirmomento in cui i file vengono scritti o modificati nella directory unita. Perché la scrivibile upperdirnon è abbastanza?

Risposte:


27

L'opzione workdir è obbligatoria e utilizzata per preparare i file prima che vengano passati alla destinazione di overlay in un'azione atomica (il workdir deve trovarsi sullo stesso filesystem di upperdir).

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

Immagino che "la destinazione overlay" significhi upperdir.

Quindi ... alcuni file (forse "whiteout"?) Vengono creati e configurati non atomicamente workdire poi spostati atomicamente in upperdir.


-3

Perché quando si elimina un file che si trova su lowerdir, queste informazioni verranno archiviate nel workdir.


1
Hm, ma quando elimino i file nella directory unita, il workdir rimane vuoto ma ci sono file mostrati nel upperdir con un cflag ( c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted) quando sono stati "cancellati overlay" dalla directory inferiore. (Lo stesso file rimane ovviamente nel piano inferiore.)
try-catch-finally

Penso che quando si elimina un file, viene creato un file "whiteout" e questo viene archiviato nel upperdir, non nel workdir. Il file whiteout è un dispositivo a caratteri (con flag "c")
ejm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.