On 2024/4/27 14:59, Christoph Hellwig wrote: > On Fri, Apr 26, 2024 at 03:18:17PM +0800, Zhang Yi wrote: >> I've had the same idea before, I asked Dave and he explained that Linux >> could leak data beyond EOF page for some cases, e.g. mmap() can write to >> the EOF page beyond EOF without failing, and the data in that EOF page >> could be non-zeroed by mmap(), so the zeroing is still needed now. >> >> OTOH, if we free the delalloc and unwritten blocks beyond EOF blocks, he >> said it could lead to some performance problems and make thinks >> complicated to deal with the trimming of EOF block. Please see [1] >> for details and maybe Dave could explain more. > > Oh well. Given that we're full in on the speculative allocations > we might as well deal with it. > Let me confirm, so you also think the preallocations in the COW fork that overlaps the unreflinked range is useless, we should avoid allocating this range, is that right? If so, I suppose we can do this improvement in another patch(set), this one works fine now. Thanks, Yi.