[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <137f9567-411e-b411-3945-e553a57f6793@redhat.com>
Date: Tue, 17 Jan 2023 09:47:58 +0100
From: David Hildenbrand <david@...hat.com>
To: David Howells <dhowells@...hat.com>,
Christoph Hellwig <hch@...radead.org>
Cc: Al Viro <viro@...iv.linux.org.uk>,
Matthew Wilcox <willy@...radead.org>,
Jens Axboe <axboe@...nel.dk>, Jan Kara <jack@...e.cz>,
Jeff Layton <jlayton@...nel.org>,
Logan Gunthorpe <logang@...tatee.com>,
linux-fsdevel@...r.kernel.org, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v6 03/34] iov_iter: Pass I/O direction into
iov_iter_get_pages*()
On 17.01.23 09:44, David Howells wrote:
> Christoph Hellwig <hch@...radead.org> wrote:
>
>> On Mon, Jan 16, 2023 at 11:08:24PM +0000, David Howells wrote:
>>> Define FOLL_SOURCE_BUF and FOLL_DEST_BUF to indicate to get_user_pages*()
>>> and iov_iter_get_pages*() how the buffer is intended to be used in an I/O
>>> operation. Don't use READ and WRITE as a read I/O writes to memory and
>>> vice versa - which causes confusion.
>>>
>>> The direction is checked against the iterator's data_source.
>>
>> Why can't we use the existing FOLL_WRITE?
>
> Because FOLL_WRITE doesn't mean the same as WRITE:
>
> (1) It looks like it should really be FOLL_CHECK_PTES_WRITABLE. It's not
> defined as being anything to do with the I/O.
Especially combined with FOLL_FORCE, this is not true.
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists