Re: [PATCH v4 27/31] gfs2: Convert aio_read/write ops toread/write_iter

From: Dave Chinner
Date: Thu Nov 22 2012 - 17:59:18 EST


On Thu, Nov 22, 2012 at 09:51:33AM +0000, Steven Whitehouse wrote:
> Hi,
>
> On Wed, 2012-11-21 at 16:41 -0600, Dave Kleikamp wrote:
> > Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
> > Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
> > Cc: cluster-devel@xxxxxxxxxx
> > ---
> > fs/gfs2/file.c | 21 ++++++++++-----------
> > 1 file changed, 10 insertions(+), 11 deletions(-)
> >
> > diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
> > index e056b4c..bcea69e 100644
> > --- a/fs/gfs2/file.c
> > +++ b/fs/gfs2/file.c
> > @@ -655,10 +655,9 @@ static int gfs2_fsync(struct file *file, loff_t start, loff_t end,
> > }
> >
> > /**
> > - * gfs2_file_aio_write - Perform a write to a file
> > + * gfs2_file_write_iter - Perform a write to a file
> > * @iocb: The io context
> > - * @iov: The data to write
> > - * @nr_segs: Number of @iov segments
> > + * @iter: The data to write
> > * @pos: The file position
> > *
> > * We have to do a lock/unlock here to refresh the inode size for
> > @@ -668,11 +667,11 @@ static int gfs2_fsync(struct file *file, loff_t start, loff_t end,
> > *
> > */
> >
> > -static ssize_t gfs2_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
> > - unsigned long nr_segs, loff_t pos)
> > +static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *iter,
> > + loff_t pos)
> > {
> > struct file *file = iocb->ki_filp;
> > - size_t writesize = iov_length(iov, nr_segs);
> > + size_t writesize = iov_iter_count(iter);
> Hmm, I'm not sure that length isn't a better name than count for this
> function. What we want is the total length of the i/o request and count
> sounds to me as if it would refer to the number of segments. So could we
> have a iov_iter_length() function instead perhaps?

I had exactly the same thought when looking at one of the XFS
patches and was holding off commenting until I'd read the entire
patch set. But, you've pointed out the same thing, so I figured I'd
add my 2c here as well.

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/