On Tue, Jan 07, 2025 at 10:05:47PM +0800, Zhang Yi wrote: > Sorry. the "pure overwrites" and "always-cow files" makes me confused, > this is mainly used to create a new written file range, but also could > be used to zero out an existing range, why you mentioned it exists to > facilitate pure overwrites? If you're fine with writes to your file causing block allocations you can already use the hole punch or preallocate fallocate modes. No need to actually send a command to the device. > > For the "always-cow files", do you mean reflinked files? Could you > please give more details? reflinked files will require out of place writes for shared blocks. As will anything on device mapper snapshots. Or any file on file systems that write out of place (btrfs, f2fs, nilfs2, the upcoming zoned xfs mode).