aboutsummaryrefslogtreecommitdiffstats
path: root/tools/blktap2/drivers/tapdisk2.c
Commit message (Collapse)AuthorAgeFilesLines
* blktap2: Fix naked unchecked uses of read/write/chdir.Keir Fraser2012-05-111-1/+6
| | | | | | | These cause warnings under warn_unused_result, and for read/write we ought to deal with partial io results. Signed-off-by: Keir Fraser <keir@xen.org>
* tools/blktap2: tapdisk2 executable usage message documents -D optionPhilipp Hahn2011-06-211-1/+1
| | | | | Signed-off-by: Philipp Hahn <hahn@univention.de> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* blktap2: The tap-ctl userspace control utility and library.Keir Fraser2010-06-081-382/+59
| | | | | | | | | | | | | | | | | | Tapdisk control in userspace, a replacement for the original blktap2 control stack, which had to pass a kernel space interface based on sysfs nodes. All tapdisk processes listen for commands on a unix stream socket. The control library supports scanning the socket namespace for running tapdisks, VBD minors allocated, associated images and state inquiry. Control operations include allocating/releasing devices, spawning tapdisks, opening/closing images, attaching disk images to devices. disk pause/resume operations and runtime switching of disk images. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
* blktap2: Fix tapdisk disktype issues.Keir Fraser2010-06-081-1/+2
| | | | | | | | | Stop coercing drivers/disktype code into the tool stack. Make both blktapctrl and tap-ctl transfer type/path pairs as "<type>:<path>" strings. Remove the message.disktype integer altogether. Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com> Signed-off-by: Jake Wires <jake.wires@citrix.com>
* blktap2: Remove tapdisk-ipc module.Keir Fraser2010-06-081-2/+2
| | | | | | | Obsoleted with blktapctrl. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
* blktap: make memshr optionalKeir Fraser2010-01-121-4/+11
| | | | | | | | Attached patch makes memshr optional for blktap/blktap2. This fixes build for platforms where memshr isn't build on. While there, make indentation consistent. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Adds 'memory_sharing' option to domain config scripts. It passes domain id toKeir Fraser2009-12-171-1/+6
| | | | | | | the tapdisk2 process if sharing is enabled (tapdisk2 is not normally aware what domain it is working for). Signed-off-by: Grzegorz Milos <Grzegorz.Milos@citrix.com>
* blktap2: configurable driver chainsKeir Fraser2009-11-091-0/+7
| | | | | | | | | | | | | | | | Blktap2 allows block device drivers to be layered to create more advanced virtual block devices. However, composing a layered driver is not exposed to the user. This patch fixes this, and allows the user to explicitly specify a driver chain when starting a tapdisk process, using the pipe character ('|') to explicitly seperate layers in a blktap2 configuration string. for example, the command: ~$ tapdisk2 -n "log:|aio:/path/to/file.img" will create a blktap2 device where read and write requests are passed to the 'log' driver, then forwarded to the 'aio' driver. Signed-off-by: Ryan O'Connor <rjo@cs.ubc.ca>
* blktap2: a completely rewritten blktap implementationKeir Fraser2009-05-261-0/+436
Benefits to blktap2 over the old version of blktap: * Isolation from xenstore - Blktap devices are now created directly on the linux dom0 command line, rather than being spawned in response to XenStore events. This is handy for debugging, makes blktap generally easier to work with, and is a step toward a generic user-level block device implementation that is not Xen-specific. * Improved tapdisk infrastructure: simpler request forwarding, new request scheduler, request merging, more efficient use of AIO. * Improved tapdisk error handling and memory management. No allocations on the block data path, IO retry logic to protect guests transient block device failures. This has been tested and is known to work on weird environments such as NFS soft mounts. * Pause and snapshot of live virtual disks (see xmsnap script). * VHD support. The VHD code in this release has been rigorously tested, and represents a very mature implementation of the VHD image format. * No more duplication of mechanism with blkback. The blktap kernel module has changed dramatically from the original blktap. Blkback is now always used to talk to Xen guests, blktap just presents a Linux gendisk that blkback can export. This is done while preserving the zero-copy data path from domU to physical device. These patches deprecate the old blktap code, which can hopefully be removed from the tree completely at some point in the future. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>