Allocate-on-flush (also called delayed allocation) is a
computer file system feature implemented in the
XFS,
Reiser4, and
ZFS file systems and under discussion for the
ext4 file system [https://ols2006.108.redhat.com/2007/Reprints/sato-Reprint.pdf].When blocks must be allocated to hold pending writes, disk space for the appended data is subtracted from the free-space counter, but not actually allocated in the free-space map. Instead, the appended data is held in memory until it must be flushed to storage due to memory pressure, when the kernel decides to flush dirty buffers, or when the application performs the Unix "sync" system call, for example.
See more at Wikipedia.org...