Saya sedang memikirkan situasi di mana saya akan memiliki sesuatu yang membuat salinan direktori, tweak beberapa file, dan kemudian melakukan beberapa pemrosesan pada hasilnya. Ini akan dilakukan cukup sering, mungkin beberapa lusin kali sehari. (Kasus penggunaan yang tepat adalah menguji pengiriman tambalan; duplikat kode, tambal itu, build / test / laporan / dll.)
Apa yang saya cari bisa dilakukan dengan membuat struktur direktori baru dan mengisinya dengan tautan keras dari aslinya. Namun ini hanya berfungsi jika semua alat yang Anda gunakan menghapus dan membuat ulang file alih-alih mengeditnya.
Apakah ada cara agar sistem file melakukan copy-on-write untuk file?
Catatan: Saya sadar bahwa banyak FS menggunakan COW pada level blok (semua pembaruan dilakukan melalui penulisan ke blok baru) tetapi ini bukan yang saya inginkan.
cp
dan ln
melakukan hal yang persis sama. Block-level COW adalah trik untuk meminimalkan interval bahwa data meta FS salah: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model