Not quite what you are after, but we put readv and writev into the library as a step towards putting them into the kernel interface. The notion was to permit scatter-gather I/O in user space by connecting the segments of the I/O request into blocks (Blocks) rather than copying them several times assembling them into blocks. This would also improve the implementation of devmnt. I'm not sure how much work has been done in that direction since that first tentative step. -rob