Mam na myśli sytuację, w której miałbym coś, co tworzy kopię katalogu, ulepsza kilka plików, a następnie wykonuje pewne przetwarzanie wyniku. Robiono to dość często, może kilkadziesiąt razy dziennie. (Dokładny przypadek użycia to testowanie poprawek; skopiuj kod, załataj go, kompilacja / test / raport / itp.)
To, czego szukam, można zrobić, tworząc nową strukturę katalogów i wypełniając ją twardymi linkami z oryginału. Działa to jednak tylko wtedy, gdy wszystkie używane narzędzia usuwają i odtwarzają pliki zamiast je edytować.
Czy istnieje sposób, aby system plików wykonywał kopiowanie przy zapisie dla pliku?
Uwaga: Zdaję sobie sprawę, że wielu FS używa COW na poziomie bloku (wszystkie aktualizacje są wykonywane przez zapisy do nowych bloków), ale nie tego chcę.
cpi lnrobi prawie dokładnie to samo. Blokowa COW jest sztuczką, aby zminimalizować interwał, w którym metadane FS są niepoprawne: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model