[libvirt] [PATCH 00/15 v5] Unprivileged SG_IO support

Osier Yang jyang at redhat.com
Wed Dec 5 09:25:01 UTC 2012


Hi,

As a result of RFC [1], this implements the unprivleged SG_IO
support. Testing is not that enough, but I'd like see the
reviewing earlier, and meanwhile I'm not going to give up
the further testing.

v4 - v5 (5 new patches):
  * Set sysfs unpriv_sgio when attaching disk
  * Restore sysfs unpriv_sgio when detaching disk
  * Error out when attaching disk if it's shared by other
    (domains), and the disk conf conflicts.
  * Do not restore sysfs unpriv_sgio when detaching disk
    if the disk is still being used by other domain(s)
  * Dump the original unpriv_sgio state in status XML,
    so that it won't be lost after restarting or reloading
    libvirtd.

v3 - v4:
  * Rebase on the top
  * More testing

v2 - v3:
  * Change the XML tag name to "cdbfilter"
  * Maintain an internal list of shared disks for QEMU driver.

Patches 1/10 ~ 4/10 are to introduce the internal list for shared
disks.

Osier Yang (15):
  qemu: Introduce a list to maintain the shared disks between domains
  qemu: Init/Free the list with the driver's lifecyle
  qemu: Add/remove the shared disk entry during domain's lifecyle
  qemu: Add/Remove the entry of sharedDisks when live
    attaching/detaching
  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 cdbfilter in domain's lifecycle
  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 if the disk is shared by other
    domain
  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                             |  106 ++++++++++--
 src/conf/domain_conf.h                             |   13 ++
 src/libvirt_private.syms                           |    5 +
 src/qemu/qemu_conf.c                               |  170 ++++++++++++++++++++
 src/qemu/qemu_conf.h                               |   30 ++++
 src/qemu/qemu_driver.c                             |   78 +++++++++
 src/qemu/qemu_process.c                            |  141 ++++++++++++++++-
 src/qemu/qemu_process.h                            |    4 +
 src/util/util.c                                    |  145 +++++++++++++++++
 src/util/util.h                                    |    7 +
 ...ml2argv-disk-scsi-lun-passthrough-cdbfilter.xml |   32 ++++
 tests/qemuxml2xmltest.c                            |    1 +
 14 files changed, 761 insertions(+), 36 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough-cdbfilter.xml

Regards,
Osier




More information about the libvir-list mailing list