[PATCH v3.2] xen block backend.
From: Konrad Rzeszutek Wilk
Date: Thu May 12 2011 - 19:57:29 EST
The following patch implements the Xen block backend driver for
upstream Linux. This is the host side counterpart to the frontend driver
in drivers/block/xen-blkfront.c. The PV protocol is also implemented by
frontend drivers in other OSes too, such as the BSDs and even Windows.
Changelog since posting:
[v3.1: https://lkml.org/lkml/2011/5/5/221]
- added Reviewed-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
- fleshed out Kconfig
- unified printk to use pr_* variant
- converted spaces to tabs on structs.
- updated comments to use proper style
- prefixed structs with 'xen' and dropped typedefs.
- fixed misspellings
- moved include/xen/blkif.h in common.h
[v3: https://lkml.org/lkml/2011/4/20/403]
- dropped 'feature-barrier' support
- added 'feature-flush-cache' support
- tested w/ NetBSD unstable, SLES11, RHEL5, 2.6.36, 2.6.39-rc6 guests to check
for barrier/flush issues.
- fixed write performance issues
- ran benchmark numbers (http://thread.gmane.org/gmane.linux.kernel/1129246)
This driver has a long history as an out of tree driver but I am
submitting it here as a single monolithic patch to aid review. Once it
has been reviewed and is considered suitable for merging can we perhaps
consider merging the equivalent git branch which maintains much of
history?
The patch is based on the driver from the xen.git pvops kernel tree but
has been put through the checkpatch.pl wringer plus several manual
cleanup passes. It has also been moved from drivers/xen/blkback to
drivers/block/xen-blback.
The git tree of the broken out driver is available at:
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git for-jens/xen-blkback-v3.2
NOTE: that this driver depends on couple of fixes to the Xen backend
subsystem. Those are available in devel/backend.base.v3 branch and are
intended for the 2.6.40 merge window.
drivers/block/Kconfig | 21 +
drivers/block/Makefile | 1 +
drivers/block/xen-blkback/Makefile | 3 +
drivers/block/xen-blkback/blkback.c | 822 +++++++++++++++++++++++++++++++++++
drivers/block/xen-blkback/common.h | 233 ++++++++++
drivers/block/xen-blkback/xenbus.c | 768 ++++++++++++++++++++++++++++++++
6 files changed, 1848 insertions(+), 0 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/