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

From: Dave Kleikamp
Date: Mon Dec 03 2012 - 14:15:07 EST


On 11/23/2012 11:59 AM, Dave Kleikamp wrote:
> 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.

It seems iov_iter_count() has been defined since 2.6.24. I really don't
feel comfortable changing it now.

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/