Hi,

> + * Reference: 
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=601cc11d054ae4b5e9b5babec3d8e4667a2cb9b5

Look at the commit message again ...

> +static ssize_t preadv(int fd, const struct iovec *iov, int iovcnt, off_t 
> offset)
> +{
> +    uint32_t pos_high = (offset>>  32)&  0xffffffff;
> +    uint32_t pos_low  =  offset&  0xffffffff;
> +
> +    return syscall(__NR_preadv, fd, iov, iovcnt, pos_high, pos_low);
> +}

No.

#define HALF_BITS (sizeof(unsigned long)*4)
return syscall(__NR_preadv, fd, iov, iovcnt, offset,
                (offset >> HALF_BITS) >> HALF_BITS);

Likewise for pwritev.

Also note that latest glibc has preadv/pwritev support, so you could use 
that instead.

cheers,
   Gerd


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to