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

From: Dave Kleikamp
Date: Fri Nov 23 2012 - 13:00:10 EST


On 11/22/2012 04:59 PM, Dave Chinner wrote:
> 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.

I agree with both of you. iov_iter_length() would be more consistent.

Shaggy
--
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/