Hello, Thanks for the reply, sometimes I'm so focused in the problem that I forget the big picture. PUD is a framework present in NetBSD that allows to implement character and block devices in userspace. [1]
The blktap (“block tap”) userspace toolkit provides a user-level disk I/O interface in Xen systems. Its current main application is to replace the common loopback driver for file-based images because of better performance. The blktap mechanism involves a kernel driver running in Dom0 that acts similarly to the existing Xen/Linux blkback driver, and a set of associated user-level libraries. Using these tools, blktap allows virtual block devices presented to VMs to be implemented in userspace and to be backed by raw partitions, files, network, etc. [2] The problem is that blktap implements mmap on character devices, and PUD doesn't support the mmap operation. That's why I want to implement mmap (and poll) for devices backed by userspace daemons. Ideally this implementation should reuse buffers, and avoid copying data from user to kernel memory, to allow for a fast implementation. [1] http://netbsd.gw.com/cgi-bin/man-cgi?pud+4+NetBSD-current [2] http://lxr.xensource.com/lxr/source/tools/blktap/ 2011/9/8 Erik Fair <[email protected]>: > Can you please expand "PUD" and explain what blktap2 does and is used for? > > can't tell the actors without a playbill, > > Erik <[email protected]> > >
