Yeah there are, Linux supports parameters FALLOC_FL_INSERT_RANGE and FALLOC_FL_COLLAPSE_RANGE for fallocate(2). Like most fancy filesystem features, they are not used by the vast majority of software because it has to run on any filesystem so you'd always need to maintain two implementations (and extensive test cases).
cubefox|1 month ago
layer8|1 month ago
In addition, it’s generally nontrivial for a program to map changes to an in-memory object structure back to surgical edits of a flat file. It’s much easier to always just serialize the whole thing, or if the file format allows it, appending the serialized changes to the file.
altfredd|1 month ago
Ext4 support dates as early as Linux 3.15, released in 2014. It is ancient at this point!
formerly_proven|1 month ago
cubefox|1 month ago