Re: [PATCH 4/7] btrfs: Use iomap_dio_rw() for direct I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux