[361] in Info-AFS_Redistribution
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