[GIT PULL] (xen) stable/for-jens-3.2 - blkback and blkfront patches for 3.2

Konrad Rzeszutek Wilk
2011-10-13T15:22:28Z

Hey Jens,

Please pull the following git tree in your 3.2 drivers tree:

git pull git://oss.oracle.com/git/kwilk/xen.git stable/for-jens-3.2

which has a couple of bug fixes and two new features for Xen blkfront
and blkback.

The bug-fixes are the normal variety - on error path we did not the proper
thing (leak memory), on entry to some functions we did not check whether we
should just ignore the request (b/c we might not support it), and we also
forgot to increment the write sector count.

There are also two new features:
- discard support, aka trim/unmap. We export from the backend the
discard alignment, granularity and do normal REQ_DISCARD. We do have
patches for the REQ_SECURE type - but not the hardware to test it so
holding on the secure discard until I get my hands on it.

- barrier (pre 2.6.38 kernel) support. The backend supports the FLUSH
type operation but to support older kernels that did barriers we have
implemented a drain technique that counts all of the bio's in flight and
waits until they are completed and then sends a FLUSH.

In regards to testing, I've been testing this on Intel SSD, Western Digital
SSD. But sadly all of them export the block size as 512 - is there a good
SSD or disk where it would export it as something more than 512?

And here is the credit list:

Jan Beulich (1):
xen-blkback: use kzalloc() in favor of kmalloc()+memset()

Joe Jin (1):
xen-blkback: fixed indentation and comments

Konrad Rzeszutek Wilk (4):
xen-blkfront: If no barrier or flush is supported, use invalid operation.
xen/blkback: Support 'feature-barrier' aka old-style BARRIER requests.
xen/blkback: Report VBD_WSECT (wr_sect) properly.
xen/blkback: Fix the inhibition to map pages when discarding sector ranges.

Laszlo Ersek (1):
xen-blkfront: plug device number leak in xlblk_init() error path

Li Dongyang (4):
xen-blkfront: add BLKIF_OP_DISCARD and discard request struct
xen-blkback: Implement discard requests ('feature-discard')
xen-blkfront: Handle discard requests.
xen-blkfront: fix a deadlock while handling discard response

The diffstat:

drivers/block/xen-blkback/blkback.c | 130 +++++++++++++++++++++++++++++------
drivers/block/xen-blkback/common.h | 100 ++++++++++++++++++++++-----
drivers/block/xen-blkback/xenbus.c | 80 +++++++++++++++++++++-
drivers/block/xen-blkfront.c | 123 ++++++++++++++++++++++++++-------
include/xen/interface/io/blkif.h | 36 ++++++++++
5 files changed, 403 insertions(+), 66 deletions(-)