Bug#686636: Please backport virtio-scsi to wheezy
Package: linux
Version: 3.2.23-1
Severity: wishlist
Virtio SCSI a new driver/transport for block storage for paravirtualized
systems. It replaces the older & limited in many ways virtio-blk and is
implemented by basically passing through SCSI over virtio. Hence devices
appear as regular SCSI devices like /dev/sda instead of /dev/vda, SCSI
passthrough can be easily implemented, multiple LUNs can be supported
without provisioning a PCI card for each etc.
http://wiki.qemu.org/Features/VirtioSCSI
On the host side, virtio-scsi is supported by qemu(-kvm) >= 1.1 (in
wheezy) or by a kernel vhost driver for LIO which is still experimental
and merged in v3.6 as a staging driver.
virtio-scsi is the guest driver for supporting such devices, i.e. it's
needed in a guest system configured with one or more virtio-scsi
devices. It was first included in Linux v3.4 with some features/bugfixes
in v3.6:
59057fb [SCSI] virtio-scsi: Add vdrv->scan for post VIRTIO_CONFIG_S_DRIVER_OK LU
365a715 [SCSI] virtio-scsi: hotplug support for virtio-scsi
2bd37f0 [SCSI] virtio-scsi: split scatterlist per target
bce750b [SCSI] virtio-scsi: release sg_lock after add_buf
139fe45 [SCSI] virtio-scsi: split locking per vq
b5ee8f2 [SCSI] virtio-scsi: unlock during kick
e4594bb [SCSI] virtio_scsi: fix TMF use-after-free
4fe74b1 [SCSI] virtio-scsi: SCSI driver for QEMU based virtual machines
(the last two are v3.4, the rest are v3.6)
I believe it's important for wheezy to support being a guest in such
configurations, as I expect virtio-scsi to be gradually adopted during
the wheezy lifecycle. The driver is mostly self-contained and
straightforward to backport (I wouldn't ask otherwise):
The above commits cherry-picked against v3.2.28 result in the following:
drivers/scsi/Kconfig | 8 +
drivers/scsi/Makefile | 1 +
drivers/scsi/virtio_scsi.c | 803 +++++++++++++++++++++++++++++++++
drivers/virtio/virtio.c | 5 +-
include/linux/virtio.h | 1 +
include/linux/virtio_ids.h | 1 +
include/linux/virtio_scsi.h | 123 +++++
7 files changed, 941 insertions(+), 1 deletion(-)
The v3.6 could be risky, considering they haven't been released yet and
haven't seen much testing. If you prefer merging just v3.4's
4fe74b1/e4594bb instead, the stat is:
drivers/scsi/Kconfig | 8 +
drivers/scsi/Makefile | 1 +
drivers/scsi/virtio_scsi.c | 596 +++++++++++++++++++++++++++++++++
include/linux/virtio_ids.h | 1 +
include/linux/virtio_scsi.h | 114 +++++++
5 files changed, 720 insertions(+)
Thanks,
Faidon
Reply to: