 A relatively recent technique is delayed allocation in XFS, HFS+ and ZFS; the same technique is also called allocate-on-flush in reiser4 and ext4.When the file system is being written to, file system blocks are reserved, but the locations of specific files are not laid down yet.Later, when the file system is forced to flush changes as a result of memory pressure or a transaction commit, the allocator will have much better knowledge of the files' characteristics.