As a result of RFC [1], this implements the unprivleged SG_IO
support.
v4 - v5:
* Per discussion in [2], this set uses a hash table to
store the shared disk's info. See 1/12 for more
details.
Osier Yang (12):
qemu: Add a hash table for the shared disks
docs: Add docs and rng schema for new XML cdbfilter
conf: Parse and format the new XML tag cdbfilter
util: Prepare helpers for unpriv_sgio setting
qemu: Manage disk's unpriv_sgio in domain lifecyle
qemu: Do not restore the sysfs unpriv_sgio if the disk is being
shared
qemu: Error out when domain starting if the cdbfilter setting
conflicts
qemu: Set unpriv_sgio when attaching disk
qemu: Restore unpriv_sgio when detaching disk
qemu: Error out if the shared disk conf conflicts with others when
attaching
qemu: Do not restore unpriv_sgio when detaching disk if it's still
shared
conf: Save disk's original unpriv_sgio state into status XML
docs/formatdomain.html.in | 13 ++-
docs/schemas/domaincommon.rng | 52 +++++--
src/conf/domain_conf.c | 93 ++++++++++---
src/conf/domain_conf.h | 11 ++
src/libvirt_private.syms | 4 +
src/qemu/qemu_conf.c | 60 ++++++++
src/qemu/qemu_conf.h | 22 +++
src/qemu/qemu_driver.c | 72 ++++++++++
src/qemu/qemu_process.c | 104 ++++++++++++++-
src/qemu/qemu_process.h | 3 +
src/util/util.c | 145 ++++++++++++++++++++
src/util/util.h | 8 +
...ml2argv-disk-scsi-lun-passthrough-cdbfilter.xml | 32 +++++
tests/qemuxml2xmltest.c | 1 +
14 files changed, 585 insertions(+), 35 deletions(-)
create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough-cdbfilter.xml
[1]
https://www.redhat.com/archives/libvir-list/2012-November/msg00988.html
[2]
https://www.redhat.com/archives/libvir-list/2012-December/msg00325.html
Regards,
Osier