Re: [PATCH 2/7] Define new syscalls readv2,preadv2,writev2,pwritev2

From: Milosz Tanski
Date: Wed Sep 17 2014 - 12:05:32 EST


Theodore,

I might be missing understanding something, but... I already omitted
read2 and write2 which can be implemented in userspace by libc (as you
pointed out). In the case of readv vs. preadv there's an extra
positional argument (file offset) and preadv version doesn't change
the file location. I didn't want to overload the meaning of preadv2 to
take a special negative offset value that uses the current file
position but also changes the file position.

As a counter point to my view point, Christop also brought the same
thing as you did.

- Milosz

On Wed, Sep 17, 2014 at 11:43 AM, Theodore Ts'o <tytso@xxxxxxx> wrote:
> On Mon, Sep 15, 2014 at 04:20:37PM -0400, Milosz Tanski wrote:
>> New syscalls with an extra flag argument. For now all flags except for 0 are
>> not supported.
>
> This may fall in the category of bike-shedding, and so I apologize in
> advance, but I wonder if we really need readv2 and writev2 as new
> syscalls. What if we just added preadv2 and pwritev2, and implemented
> readv2 and writev2 as libc wrappers where which had the vector
> allocated as an automatic stack variable? Is the extra user memory
> access really going to be that noticeable?
>
> Cheers,
>
> - Ted



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