[361] in Info-AFS_Redistribution

home help back first fref pref prev next nref lref last post

uio structures

daemon@ATHENA.MIT.EDU (Richard Draves)
Tue Oct 29 12:53:58 1991

To: mach3@cs.cmu.edu, info-afs@transarc.com
From: Richard Draves <rpd+@cs.cmu.edu>
Date: Tue, 29 Oct 91 11:32:35 EST


Does anybody know of a requirement on uio structures that
the size (uio_resid) equal the sum of the sizes (iov_len)
of each iovec?  For example, if you have a uio for
transferring 16K and you want to do 4 transfers of 4K at
different times, can this be done be changing the uio_resid
from 16K to 4K, doing a transfer, resetting uio_resid to 4K,
doing another transfer, etc.  It looks like rwip() would
be happy with this.

I ask because some AFS code (afs_read() and afs_write() in
afs/afs_vnodeops.c) does this differently, by creating a
new uio structure for each subtransfer.  This causes
a problem for the uiomove/copyout implementation in
the out-of-kernel Unix server.

Rich

home help back first fref pref prev next nref lref last post