> On Nov 18, 2019, at 3:32 PM, Mouse <mo...@rodents-montreal.org> wrote: > > You could do that. Creating a large hole would cost you the time to > allocate and initialize the indirect blocks, but I suppose that's a > factor of the block size smaller than the time it would take to > allocate and initialize all the data blocks, so it would probably be a > win, albeit not as much of a win as not allocating-and-filling any of > it.
I don't see much point in deferring the allocation of any necessary indirect blocks; that's work that has to be done regardless. What I'm really interested in avoiding is writing zeros to newly-preallocated data blocks that are just going to be overwritten by the data provided by the application anyway. It's literally throw-away work that at best wastes time and at worst wears out the storage medium. -- thorpej