On Du, 03 ian 21, 19:53:07, Michael Stone wrote:
Applications which need more data integrity
guarantees generally implement some sort of journalling and/or use atomic
filesystem operations. (E.g., write a temporary file, flush/sync,
rename--that guarantees either the old file or the new file will be present,
but not a partially written file.)
Unless I'm mistaken, this is somewhat similar to how copy-on-write works
for every write, except that the copy-on-write is done at block level
and with the added benefits that unchanged blocks are kept as they are
(less writes) and may even be shared between files (using less space).