view tools/blktap/README.sept05 @ 7238:971e7c7411b3

Raise an exception if an error appears on the pipes to our children, and make
sure that the child's pipes are closed even under that exception. Move the
handling of POLLHUP to the end of the loop, so that we guarantee to read any
remaining data from the child if POLLHUP and POLLIN appear at the same time.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author emellor@ewan
date Thu Oct 06 10:13:11 2005 +0100 (2005-10-06)
parents 06d84bf87159
line source
1 The blktap has been rewritten substantially based on the current
2 blkback driver. I've removed passthrough support, as this is broken
3 by the move to grant tables and the lack of transitive grants. A
4 blktap VM is now only capable of terminating block requests in
5 userspace.
7 ublkback/ contains a _very_ initial cut at a user-level version of the block
8 backend driver. It gives a working example of how the current tap
9 interfaces are used, in particular w.r.t. the vbd directories in
10 xenstore.
12 parallax/ contains fairly recent parallax code. This does not run on
13 the changed blktap interface, but should only be a couple of hours
14 work to get going again.
16 All of the tricky bits are done, but there is plenty of cleaning to
17 do, and the top-level functionality is not here yet. At the moment,
18 the daemon ignores the pdev requested by the tools and opens the file
19 or device specified by TMP_IMAGE_FILE_NAME in ublkback.c.
21 TODO:
22 1. Fix to allow pdev in the store to specify the device to open.
23 2. Add support (to tools as well) to mount arbitrary files...
24 just write the filename to mount into the store, instead of pdev.
25 3. Reeximine blkif refcounting, it is almost certainly broken at the moment.
26 - creating a blkif should take a reference.
27 - each inflight request should take a reference on dequeue in blktaplib
28 - sending responses should drop refs.
29 - blkif should be implicitly freed when refcounts fall to 0.
30 4. Modify the parallax req/rsp code as per ublkback to use the new tap
31 interfaces.
32 5. Write a front end that allows parallax and normal mounts to coexist
33 6. Allow blkback and blktap to run at the same time.