On 9:06 15/11, Christoph Hellwig wrote: > On Fri, Nov 15, 2019 at 10:16:57AM -0600, Goldwyn Rodrigues wrote: > > From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > > > This is the main patch to switch call from > > __blockdev_direct_IO() to iomap_dio_rw(). In this patch: > > > > Removed buffer_head references > > Removed inode_dio_begin() and inode_dio_end() functions since > > they are called in iomap_dio_rw(). > > Renamed btrfs_get_blocks_direct() to direct_iomap_begin() and > > used it as iomap_begin() > > address_space.direct_IO now is a noop since direct_IO is called > > from __btrfs_write_direct(). > > > > Removed flags parameter used for __blockdev_direct_IO(). iomap is > > capable of direct I/O reads from a hole, so we don't need to > > return -ENOENT. > > There isn't really any need to describe the low-level changes, > but more what this changes at a high level, and more importantly > the reasons for that. > > > static int btrfs_get_blocks_direct_write(struct extent_map **map, > > - struct buffer_head *bh_result, > > struct inode *inode, > > struct btrfs_dio_data *dio_data, > > u64 start, u64 len) > > Should this function be renamed as well? btrfs_iomap_begin_write? > > > +static int direct_iomap_begin(struct inode *inode, loff_t start, > > + loff_t length, unsigned flags, struct iomap *iomap, > > + struct iomap *srcmap) > > This needs a btrfs_ prefix. > > > + if ((em->block_start == EXTENT_MAP_HOLE) || > > No need for the inner braces. > > > - dio_end_io(dio_bio); > > You removed the only users of dio_end_io and the submit hook in the > old dio code. Please add a patch to remove those at the end of the > series. The submit hook is used by f2fs. I will remove the dio_end_io() function. -- Goldwyn