DragonFly kernel List (threaded) for 2006-04
Re: PATCH preadv/pwritev
: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.