From: Nicholas Bellinger <n...@linux-iscsi.org>

<Quick resend with proper subject>

Greetings QEMU SCSI / BLOCK folks,

This series adds rebased support for the hw/scsi-bsg.c backstore for scsi-bus
compatible HBA emulation in QEMU-KVM on Linux hosts supporting the BSG driver
against current mainline qemu-kvm.git/master code.

This patch is available from the scsi-bsg branch in the megasas/scsi friendly 
QEMU-KVM tree at:

http://git.kernel.org/?p=virt/kvm/nab/qemu-kvm.git;a=shortlog;h=refs/heads/megasas-upstream-v1

which includes Hannes's recent patch series posted recently against mainline 
v0.13.0 here:

Re: [Qemu-devel] [PATCH] Megasas HBA emulation and SCSI update v.2
http://lists.gnu.org/archive/html/qemu-devel/2010-11/msg02018.html

Note that in order for BSG I/O to function using vectored AIO a kernel patch to
linux/block/bsg.c:bsg_map_hdr() is currently required running on a bit paired
user/kernel enviroment.  The kernel patch in question is here:

http://marc.info/?l=linux-scsi&m=127649585524598&w=2

The first three patches involve updating block code to support the BSG 
backstore for scsi-bsg.

The forth patch adds the minor changes to hw/scsi-bus.c and hw/scsi-disk.c in 
order to
function with scsi-bsg.

And the fifth patch adds the main hw/scsi-bsg.c logic necessary to run the new 
struct
SCSIDeviceInfo and for BSG AIO using struct iovec and paio_submit_len() to 
function.
The scsi-bsg.c code has been refactored to follow the modern 
SCSIDeviceInfo->alloc_req_iov()
and incoming struct iovec * memory for underlying SCSIRequest SGLs

So far this has been tested with v2 8708EM2 HBA Emulation on 0.13.0 on a .37-rc2
KVM host with TCM_Loop FILEIO backstores into a Debian Lenny v2.6.26 x86_64
KVM guest with XFS filesystem mounts.

Signed-off-by: Nicholas A. Bellinger <n...@linux-iscsi.org>

Nicholas Bellinger (5):
  block: Add top level BSG support
  block: Add BSG qemu_open() in block/raw.c:raw_open()
  block: Add paio_submit_len() non sector sized AIO
  scsi: Add BSG checks into scsi-bus and scsi-disk
  scsi-bsg: Add initial support for BSG based SCSIDeviceInfo

 Makefile.objs         |    2 +-
 block.c               |    7 +-
 block.h               |    1 +
 block/raw-posix-aio.h |    3 +
 block/raw-posix.c     |   65 +++++-
 block/raw.c           |   21 ++
 block_int.h           |    6 +
 hw/scsi-bsg.c         |  720 +++++++++++++++++++++++++++++++++++++++++++++++++
 hw/scsi-bus.c         |    3 +-
 hw/scsi-disk.c        |    5 +
 posix-aio-compat.c    |   29 ++
 11 files changed, 855 insertions(+), 7 deletions(-)
 create mode 100644 hw/scsi-bsg.c


Reply via email to