This adds the support for qemu's scsi-generic device, which can be
used to passthrough scsi host device. An example of the XML:
<hostdev mode='subsystem' type='scsi' managed='no'>
<source>
<adapter name='scsi_host7'/>
<address bus='0' target='0' unit='0'/>
</source>
<address type='drive' controller='0' bus='0'
target='0' unit='1'/>
</hostdev>
Mainly changes from v2.5 (details in each patch):
* 1/10 and 2/10 of v2.5 are pushed
* 8/10 of v2.5 is splitted
* A better way to generate the address for scsi host device instead of
the rigid one.
* Support all scsi controllers when building the qemu command line.
* Figure out the limits of the qemu properties, and do checking
* Don't forget DAC and apparmor security backends
* Orgnize the patches in a better way.
* Fix the make check failure
Han Cheng (7):
conf: Introduce XMLs for scsi hostdev
qemu: New cap flags for scsi-generic
utils: util functions for scsi hostdev
qemu: Build qemu command line for scsi host device
qemu: Introduce activeScsiHostdevs list for scsi host devices
qemu: Allow the scsi-generic device in cgroup
qemu: Add hotplug support for scsi host device
Osier Yang (3):
security: Manage the security label for scsi host device
qemu: Refactor helpers for USB device attachment
conf: Generate address for scsi host device automatically
docs/formatdomain.html.in | 38 +-
docs/schemas/domaincommon.rng | 29 ++
po/POTFILES.in | 1 +
src/Makefile.am | 1 +
src/conf/domain_audit.c | 10 +
src/conf/domain_conf.c | 312 +++++++++++++++-
src/conf/domain_conf.h | 8 +
src/libvirt_private.syms | 22 ++
src/qemu/qemu_capabilities.c | 14 +-
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_cgroup.c | 72 +++-
src/qemu/qemu_cgroup.h | 3 +
src/qemu/qemu_command.c | 154 +++++++-
src/qemu/qemu_command.h | 6 +
src/qemu/qemu_conf.h | 2 +
src/qemu/qemu_driver.c | 3 +
src/qemu/qemu_hostdev.c | 213 +++++++++++
src/qemu/qemu_hostdev.h | 10 +
src/qemu/qemu_hotplug.c | 224 +++++++++---
src/qemu/qemu_process.c | 3 +
src/security/security_apparmor.c | 49 ++-
src/security/security_dac.c | 77 +++-
src/security/security_selinux.c | 72 +++-
src/util/virscsi.c | 407 +++++++++++++++++++++
src/util/virscsi.h | 84 +++++
tests/qemuhelpdata/qemu-1.0-device | 10 +
tests/qemuhelpdata/qemu-1.1.0-device | 10 +
tests/qemuhelpdata/qemu-1.2.0-device | 5 +
tests/qemuhelpdata/qemu-kvm-1.2.0-device | 5 +
tests/qemuhelptest.c | 19 +-
.../qemuxml2argv-hostdev-scsi-boot.args | 9 +
.../qemuxml2argv-hostdev-scsi-boot.xml | 34 ++
.../qemuxml2argv-hostdev-scsi-readonly.args | 9 +
.../qemuxml2argv-hostdev-scsi-readonly.xml | 35 ++
tests/qemuxml2argvtest.c | 9 +
tests/qemuxml2xmltest.c | 2 +
36 files changed, 1842 insertions(+), 121 deletions(-)
create mode 100644 src/util/virscsi.c
create mode 100644 src/util/virscsi.h
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.xml
--
1.8.1.4