Linux Filesystem Overlay - untuk apa workdir digunakan? (OverlayFS)

35

OverlayFS memiliki workdiropsi, di samping dua direktori lain lowerdirdan upperdir, yang harus berupa direktori kosong.

Sayangnya dokumentasi kernel overlayfs tidak banyak bicara tentang tujuan opsi ini.

"Workdir" harus berupa direktori kosong pada sistem file yang sama dengan upperdir.

Untuk workdirpembacaan hanya baca, mungkin ada komentar di antara upperdir. Ini memberi saya petunjuk yang harus dilakukan dengan menulis file yang digabungkan.

Tolong jelaskan apa yang terjadi di workdirsaat file ditulis atau diubah di direktori gabungan. Mengapa tulisannya upperdirtidak cukup?

coba-tangkap-akhirnya
sumber

Jawaban:

27

Opsi workdir diperlukan, dan digunakan untuk menyiapkan file sebelum dialihkan ke tujuan overlay dalam aksi atom (workdir harus berada pada sistem file yang sama dengan upperdir).

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

Saya akan menebak bahwa "tujuan overlay" berarti upperdir.

Jadi ... file tertentu (mungkin file "whiteout"?) Dibuat dan dikonfigurasi secara non-atom workdirdan kemudian dipindahkan secara atom ke upperdir.

mpb
sumber
-3

Karena ketika Anda menghapus file yang ada di lowerdir, informasi ini akan disimpan di workdir.

Ipor Sircer
sumber
1
Hm, tetapi ketika saya menghapus file di direktori gabungan, workdir tetap kosong tetapi ada file yang ditampilkan di upperdir dengan sebuah cflag ( c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted) ketika mereka telah "dihapus-hapus" dari direktori bawah. (File yang sama tetap di lowerdir tentu saja.)
coba-tangkap-akhirnya
Saya pikir ketika Anda menghapus file, file "whiteout" dibuat dan ini disimpan di upperdir, bukan workdir. File whiteout adalah perangkat karakter (dengan bendera "c")
ejm