On Mon, Sep 23, 2019 at 05:08:56PM +0200, Jan Kara wrote: > On Thu 12-09-19 21:04:30, Matthew Bobrowski wrote: > > For iomap direct IO write code path changes, we need to accommodate > > for the case where the block mapping flags passed to ext4_map_blocks() > > will result in m_flags having both EXT4_MAP_MAPPED and > > EXT4_MAP_UNWRITTEN bits set. In order for the allocated unwritten > > extents to be converted properly in the end_io handler, iomap->type > > must be set to IOMAP_UNWRITTEN, so we need to reshuffle the > > conditional statement in order to achieve this. > > > > This change is a no-op for DAX code path as the block mapping flag > > passed to ext4_map_blocks() when IS_DAX(inode) never results in > > EXT4_MAP_MAPPED and EXT4_MAP_UNWRITTEN being set at once. > > > > Signed-off-by: Matthew Bobrowski <mbobrowski@xxxxxxxxxxxxxx> > > Reviewed-by: Ritesh Harjani <riteshh@xxxxxxxxxxxxx> > > The patch looks good to me. You can add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> Thank you Jan! Note that the updated patch series that I'll send through shortly has slightly changed in the sense that I've split up a whole bunch of the iomap code. The idea behind this was to reduce the overall clutter that exists within the ->iomap_begin() callback. This was recommended by Christoph, and I really like the idea because moving forward it makes complete sense to do so. This specific patch will remain as is though. --<M>--