Re: [PATCH] fs: io_uring.c: Add skip option for __io_sqe_files_update

From: Pavel Begunkov
Date: Tue Jan 26 2021 - 22:18:59 EST


On 26/01/2021 18:43, Noah Goldstein wrote:
> On Tue, Jan 26, 2021 at 12:24 PM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote:
>>
>> On 26/01/2021 17:14, Noah Goldstein wrote:
>>> On Tue, Jan 26, 2021 at 7:29 AM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote:
>>>>
>>>> On 22/12/2020 02:10, Noah Goldstein wrote:
>>>>> On Sun, Dec 20, 2020 at 03:18:05PM +0000, Pavel Begunkov wrote:
>>>>>> On 20/12/2020 06:50, noah wrote:> From: noah <goldstein.n@xxxxxxxxx>
>>>>>>>
>>>>>>> This patch makes it so that specify a file descriptor value of -2 will
>>>>>>> skip updating the corresponding fixed file index.
>>>>>>>
>>>>>>> This will allow for users to reduce the number of syscalls necessary
>>>>>>> to update a sparse file range when using the fixed file option.
>>>>>>
>>>>>> Answering the github thread -- it's indeed a simple change, I had it the
>>>>>> same day you posted the issue. See below it's a bit cleaner. However, I
>>>>>> want to first review "io_uring: buffer registration enhancements", and
>>>>>> if it's good, for easier merging/etc I'd rather prefer to let it go
>>>>>> first (even if partially).
>>>>
>>>> Noah, want to give it a try? I've just sent a prep patch, with it you
>>>> can implement it cleaner with one continue.
>>>
>>> Absolutely. Will get on it ASAP.
>>
>> Perfect. Even better if you add a liburing test
>
> Do you think the return value should not include files skipped?
>
> i.e register fds[1, 2, 3, -1] with no errors returns 4. should fds[1,
> 2, -2, -1] return 3 or 4 do you think?
>
> Personally think the latter makes more sense. Thoughts?

Let's just return @done, 4 in your case. Because otherwise locating which
index has failed would be hell. And it's consistent with delete (i.e. -1).

--
Pavel Begunkov