public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [LSF/MM TOPIC] Target fabric module for SCSI para-virtualization
@ 2011-02-07  7:57 Nicholas A. Bellinger
  2011-02-07  8:07 ` Hannes Reinecke
  2011-02-07 10:27 ` Boaz Harrosh
  0 siblings, 2 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2011-02-07  7:57 UTC (permalink / raw)
  To: lsf-pc; +Cc: linux-scsi, Stefan Hajnoczi, Anthony Liguori, Christoph Hellwig

Greetings all,

[Topic]

A hybrid target fabric module for QEMU/KVM SCSI para-virtualization

[Abstract]

Currently we use the TCM_Loop v4 fabric module with mainline .38 target
code to present SCSI LUNs with high level multi-fabric (iSCSI, FC, SAS)
SPC-3 port WWN emulation into KVM guests using two different forms of
QEMU HBA hardware emulation.  However both of these currently require
interaction with the QEMU block layer and extra overhead of OS
independent code running in user-space connected to our existing
SG_IO/BSG interfaces.  This also has the limitiation that we currently
cannot perform explict SCSI Initiator Port access management for LUNs
also present via TCM_Loop SCSI LLD driver on the KVM host.

Recently there has been an off-list discussion between myself and
members of the QEMU/KVM community, and they have expressed an interest
in seeing a native paravirtualized SCSI passthrough available to QEMU
guests with direct interaction into TCM fabric module code running on
KVM host.  This would be using existing CDB level port emulation code in
target_core_fabric_lib.c, and (mostly) generic fabric control plane in
target_core_fabric_configfs.c..  Beyond the TCM fabric module specifics,
this will require:

*) An asynchronous I/O capable virtio interface for KVM that does not
require direct QEMU block-layer interaction

*) A multi-fabric WWN naming capable TCM fabric module using native
virtio-scsi connections to individual KVM guests for kernel-level
passthrough into TCM backend storage.  (eg: similar to TCM_Loop, but w/o
the Linux/SCSI LLD frontend, and full explict Initiator port NodeACL +
MappedLUN control abstraction)

*) Guest OS specific para-virtualized SCSI driver packages (similar to
virtio-blk) performing SCSI I/O handoff into passthrough interface via
SCSI I_T nexues, with proper T10 WWN Port and LUN naming provided from
underlying TCM v4.x infrastructure  (eg: full compat w/ existing SPC-3
capable cluster clients)

--nab




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

end of thread, other threads:[~2011-02-07 11:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-07  7:57 [LSF/MM TOPIC] Target fabric module for SCSI para-virtualization Nicholas A. Bellinger
2011-02-07  8:07 ` Hannes Reinecke
2011-02-07 10:27 ` Boaz Harrosh
2011-02-07 11:06   ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox