On Tuesday, 16. January 2007 06:37, Nate Diller wrote: > On 1/15/07, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Mon, Jan 15, 2007 at 05:54:50PM -0800, Nate Diller wrote: > > > Convert code using iocb->ki_left to use the more generic iov_length() call. > > > > No way. We need to reduce the numer of iovec traversals, not adding > > more of them. > > ok, I can work on a version of this that uses struct iodesc. Maybe > something like this? > > struct iodesc { > struct iovec *iov; > unsigned long nr_segs; > size_t nbytes; > }; > > I suppose it's worth doing the iodesc thing along with this patchset > anyway, since it'll avoid an extra round of interface churn. What about this instead struct iodesc { struct iovec *iov; unsigned long nr_segs; unsigned long seg_limit; size_t nr_bytes; }; That will enable resizeable iodescs with partial completion state and will enable successive filling of an iodesc with iovs. This will be needed anyway. I built an complete short userspace module for that already. I can post and GPLv2 it somewhere, if people are interested. Regards Ingo Oeser - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html