Ich denke an eine Situation, in der ich eine Kopie eines Verzeichnisses erstellen, ein paar Dateien optimieren und dann das Ergebnis bearbeiten würde. Dies wird ziemlich oft gemacht, vielleicht ein paar Dutzend Mal am Tag. (Der genaue Anwendungsfall ist das Testen von Patch - Einsendungen. Machen Sie den Code nach, patchen Sie ihn, erstellen Sie / test / report / etc.)
Nach was ich suche, könnte getan werden, indem man eine neue Verzeichnisstruktur verursacht und sie mit harten Verbindungen vom origonal füllt. Dies funktioniert jedoch nur, wenn alle Tools, die Sie verwenden, Dateien löschen und neu erstellen, anstatt sie direkt zu bearbeiten.
Gibt es eine Möglichkeit, das Dateisystem beim Schreiben für eine Datei kopieren zu lassen ?
Hinweis: Mir ist bewusst, dass viele FSs COW auf Blockebene verwenden (alle Aktualisierungen erfolgen über Schreibvorgänge in neue Blöcke), aber dies ist nicht das, was ich möchte.
cp
und ln
macht fast genau dasselbe. COW auf Blockebene ist ein Trick, um das Intervall zu minimieren, in dem die FS-Metadaten falsch sind: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model