Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

From: Milosz Tanski
Date: Thu Mar 26 2015 - 22:29:26 EST


On Thu, Mar 26, 2015 at 3:12 PM, Milosz Tanski <milosz@xxxxxxxxx> wrote:
> On Thu, Mar 26, 2015 at 7:55 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>>
>> On Mon, Mar 16, 2015 at 02:27:10PM -0400, Milosz Tanski wrote:
>> > This patchset introduces two new syscalls preadv2 and pwritev2. They are the
>> > same syscalls as preadv and pwrite but with a flag argument. Additionally,
>> > preadv2 implements an extra RWF_NONBLOCK flag.
>>
>> There was some arugment that we just don't wait and don't have the
>> classic unix "blocking" semantics. Maybe it's time to bite the bullet
>> and rename it to RWF_DONTWAIT? (I personally dont really care).
>
>
> Sure. It is in line with the MSG_DONTWAIT flag for sendmsg() which
> this whole idea is based on anyways.

Okay, It's RWF_DONTWAIT now. I also split it into two RWF_DONTWAIT for
the userspace API and IOCB_DONTWAIT that goes into kiocb->ki_flags.

>
>>
>>
>> Second this probably needs to be on top of Al's for-next tree:
>>
>> https://git.kernel.org/cgit/linux/kernel/git/viro/vfs.git/log/?h=for-next
>>
>> Note that this has a flags field in struct kiocb, so we could just use
>> that for the flags.
>
>
> Okay I started rebasing the patches on-top of that. I did see that
> there is a new flags field "ki_flags". I see that there's already a
> IOCB_EVENTFD flag.
>
> Did you see you Andres' question about making the flags a enum? I
> usually wouldn't do that, because C++ is stronger when it comes enums,
> you can't combine them then assignment them to an enum without a cast.
> But in the kernel this doesn't matter.
>
>>
>>
>> Otherwise this version look fine to me, let's get it merged!
>>
>> Al, are yo ready to pick this up? I'd hate to miss another merge
>> window.
>
>
> Just got back from vacation today, I'll try to get this out before the
> end of the week. I also have to make some adjustments to xfs-tests (to
> push preadv2 into xfs_io).

You'll see the patches and the pull request against viro/for-next
branch tomorrow. The rebase was a bit of work since you guys changed a
fair amount of stuff.

>
>
> --
> Milosz Tanski
> CTO
> 16 East 34th Street, 15th floor
> New York, NY 10016
>
> p: 646-253-9055
> e: milosz@xxxxxxxxx

P.S: Sorry for the double email / HTML spam. I'm not a my primary
computer and apparently gmail randomly forgets that a thread is plain
text only. Thanks gmail.

--
Milosz Tanski
CTO
16 East 34th Street, 15th floor
New York, NY 10016

p: 646-253-9055
e: milosz@xxxxxxxxx
--
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/