Re: [PATCH v2] Add preadv and pwritev system calls.

Russell King
2008-12-12T17:00:19Z

On Fri, Dec 12, 2008 at 03:00:40PM +0100, Gerd Hoffmann wrote:
> diff --git a/fs/read_write.c b/fs/read_write.c
> index 969a6d9..89f273d 100644
> --- a/fs/read_write.c
> +++ b/fs/read_write.c
> @@ -701,6 +701,54 @@ sys_writev(unsigned long fd, const struct iovec __user *vec, unsigned long vlen)
> return ret;
> }
>
> +asmlinkage ssize_t sys_preadv(unsigned long fd, const struct iovec __user *vec,
> + unsigned long vlen, loff_t pos)

For ARM, I'd prefer this to be:

unsigned long fd, const struct iovec __user *vec,
loff_t pos, unsigned long vlen

to avoid any variance in ABIness which will occur with the argument
layout as it currently stands, but that creates a silly argument
order. The other option would be for us to define our own version
in an ARM ABI independent manner:

ssize_t sys_arm_preadv(unsigned long fd, const struct iovec __user *vec,
unsigned long vlen, unsigned long low_pos, unsigned long high_pos)

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/