On Thu, Dec 20, 2018 at 09:43:35AM +1100, Dave Chinner wrote: > On Tue, Dec 18, 2018 at 03:24:37PM -0800, Darrick J. Wong wrote: > > On Mon, Dec 03, 2018 at 05:25:03PM -0500, Christoph Hellwig wrote: > > Granted, I'm still rather fuzzy on what exactly is supposed to happen > > with preallocating fallocate when all writes require an allocation to > > succeed? > > For always_cow mode, perhaps we could consider preallocating into > the COW fork rather than the data fork? That way when we go to write > the data, we've already got the space allocated regardless of > whether it is over a hole or existing data? For a speculative preallocation that is what we already do. But for persistent preallocation that doesn't help as the COW fork is not persistent.