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ę.
cp
i ln
robi 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