On Mon, Aug 12, 2019 at 10:18:39AM -0700, Christoph Hellwig wrote: > On Mon, Aug 12, 2019 at 10:52:53PM +1000, Matthew Bobrowski wrote: > > In preparation for implementing the direct IO write code path modifications > > that make us of iomap infrastructure we need to move out the inode > > extension/truncate code from ext4_iomap_end() callback. For direct IO, if the > > current code remained it would behave incorrectly. If we update the inode size > > prior to converting unwritten extents we run the risk of allowing a racing > > direct IO read operation to find unwritten extents before they are converted. > > > > The inode extension/truncate has been moved out into a new function > > ext4_handle_inode_extension(). This will be used by both direct IO and DAX > > code paths if the write results with the inode being extended. > > ext4_iomap_end is empty now, so you could as well remove it entirely. As mentioned in my other email (4/5), this is callback needs to remain. --M