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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list