mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
xen-scsiback: Add Xen PV SCSI backend driver
Introduces the Xen pvSCSI backend. With pvSCSI it is possible for a Xen domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g. to use SCSI tape drives in a Xen domU. The code is taken from the pvSCSI implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - adapt to Linux style guide - use target core infrastructure instead doing pure pass-through - enable module unloading - support SG-list in grant page(s) - support task abort - remove redundant struct backend - allocate resources dynamically - correct minor error in scsiback_fast_flush_area - free allocated resources in case of error during I/O preparation - remove CDB emulation, now handled by target core infrastructure Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Nicholas Bellinger <nab@linux-iscsi.org> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
This commit is contained in:
parent
8beb8d4c91
commit
d9d660f6e5
@ -172,6 +172,15 @@ config XEN_PCIDEV_BACKEND
|
||||
|
||||
If in doubt, say m.
|
||||
|
||||
config XEN_SCSI_BACKEND
|
||||
tristate "XEN SCSI backend driver"
|
||||
depends on XEN && XEN_BACKEND && TARGET_CORE
|
||||
help
|
||||
The SCSI backend driver allows the kernel to export its SCSI Devices
|
||||
to other guests via a high-performance shared-memory interface.
|
||||
Only needed for systems running as XEN driver domains (e.g. Dom0) and
|
||||
if guests need generic access to SCSI devices.
|
||||
|
||||
config XEN_PRIVCMD
|
||||
tristate
|
||||
depends on XEN
|
||||
|
@ -36,6 +36,7 @@ obj-$(CONFIG_XEN_ACPI_HOTPLUG_MEMORY) += xen-acpi-memhotplug.o
|
||||
obj-$(CONFIG_XEN_ACPI_HOTPLUG_CPU) += xen-acpi-cpuhotplug.o
|
||||
obj-$(CONFIG_XEN_ACPI_PROCESSOR) += xen-acpi-processor.o
|
||||
obj-$(CONFIG_XEN_EFI) += efi.o
|
||||
obj-$(CONFIG_XEN_SCSI_BACKEND) += xen-scsiback.o
|
||||
xen-evtchn-y := evtchn.o
|
||||
xen-gntdev-y := gntdev.o
|
||||
xen-gntalloc-y := gntalloc.o
|
||||
|
2124
drivers/xen/xen-scsiback.c
Normal file
2124
drivers/xen/xen-scsiback.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user