qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5]: Add hw/scsi-bsg.c backend driver
@ 2010-11-24  8:44 Nicholas A. Bellinger
  2010-11-24  9:17 ` [Qemu-devel] " Kevin Wolf
  2010-11-24  9:31 ` Boaz Harrosh
  0 siblings, 2 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2010-11-24  8:44 UTC (permalink / raw)
  To: Hannes Reinecke, Kevin Wolf
  Cc: Stefan Hajnoczi, qemu-devel, Nicholas Bellinger, Gerd Hoffmann,
	Paolo Bonzini, Christoph Hellwig

From: Nicholas Bellinger <nab@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 <nab@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-11-24  9:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-24  8:44 [Qemu-devel] [PATCH 0/5]: Add hw/scsi-bsg.c backend driver Nicholas A. Bellinger
2010-11-24  9:17 ` [Qemu-devel] " Kevin Wolf
2010-11-24  9:31 ` Boaz Harrosh
2010-11-24  9:45   ` Nicholas A. Bellinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).