already-instantiated disk blocks, there are no guarantees that the data will
be available after a crash.
There is no user interface to know if a write is purely an overwrite.
-On file systems using copy-on-write semantics (e.g.,
+On filesystems using copy-on-write semantics (e.g.,
.IR btrfs )
an overwrite of existing allocated blocks is impossible.
When writing into preallocated space,
-many file systems also require calls into the block
+many filesystems also require calls into the block
allocator, which this system call does not sync out to disk.
This system call does not flush disk write caches and thus does not provide
any data integrity on systems with volatile disk write caches.