On Mon, Feb 08, 2016 at 12:00:26PM +1100, Dave Chinner wrote: > On Wed, Feb 03, 2016 at 07:40:15PM +0100, Christoph Hellwig wrote: > > We only need to communicate two bits of information to the direct I/O > > completion handler: > > > > (1) do we need to convert any unwritten extents in the range > > (2) do we need to check if we need to update the inode size based > > on the range passed to the completion handler > > > > We can use the private data passed to the get_block handler and the > > completion handler as a simple bitmask to communicate this information > > instead of the current complicated infrastructure reusing the ioends > > from the buffer I/O path, and thus avoiding a memory allocation and > > a context switch for any non-trivial direct write. As a nice side > > effect we also decouple the direct I/O path implementation from that > > of the buffered I/O path. > > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > > This change is now dependent on the preceeding direct IO API > changes. Do I a) take the DIO API change through the XFS tree, or > b) use the older version of the patch that didn't have this > dependency and let somebody else deal with the API change and merge > issues? > > I'm happy to take the DIO API change through the XFS tree, if that's > the fastest/easiest way to get the necessary DIO subsystem fixes > into the mainline tree for XFS. As such, the for-next tree that I'm > building right now will include the DIO API change patch.... Right now this series is in a stable branch in the XFS tree: git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git xfs-dio-fix-4.6 If you want to push it through some other tree, please let me know when/where it is committed so I can rebuild the XFS for-next branch appropriately from a stable commit/branch... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html