PATCH preadv/pwritev

Matthew Dillon dillon at
Wed Apr 26 10:04:15 PDT 2006

:On Tue, Apr 25, 2006 at 01:59:07PM -0700, Chuck Tuffli wrote:
:> I had a need for the iovec versions of pread and pwrite and have a patch 
:> for people to try. The changes are loosely based on the work done in 
:> FreeBSD current and have been tested against an enhanced version of 
:> Iozone. This testing has been on 1.4.x, but there doesn't appear to be a 
:> big difference between HEAD and the 1.4 slip tag, so I would expect the 
:> patch to work for HEAD as well.
:Looks good. Can you take a look at the int mess of the various uio_resid
:and similiar fields? It should be size_t all over the place, which will
:be important on AMD64.

    No, it needs to stay as an 'int' internally in the kernel, with
    appropriate safeguards for negative numbers.  The problem is that
    those numbers simply go through too many translations and even making
    the whole path unsigned just obfuscates the code.

    In particular, as we shift to 64 bit integers, we really want to use
    signed 64 bit integers rather than unsigned 64 bit integers.  Negative
    numbers are used for all sorts of special cases.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list