[libvirt] [PATCH 00/11] qemu: Fix <shareable/> disks for new qemu

Peter Krempa pkrempa at redhat.com
Thu Nov 16 12:47:53 UTC 2017


Introduction of the disk image locking in qemu created a regression
where disk shared access with <shareable/> would not work.

Since the disk locking is a desired feature, allow libvirt to configure
qemu in such way that <shareable/> disks are exempt from write locks.

First few patches refactor some stuff so that it's less ugly.

This series also mandates that sharing is used only with 'raw' disks
since other formats could corrupt metadata.

Peter Krempa (11):
  qemu: Move snapshot disk validation functions into one
  qemu: domain: Despaghetify qemuDomainDeviceDefValidate
  qemu: domain: Move hostdev validation into separate function
  qemu: domain: Move video device validation into separate function
  qemu: domain: Refactor domain device validation function
  qemu: block: Add function to check if storage source allows concurrent
    access
  qemu: domain: Reject shared disk access if backing format does not
    support it
  qemu: snapshot: Disallow snapshot of unsupported shared disks
  qemu: Disallow pivot of shared disks to unsupported storage
  qemu: caps: Add capability for 'share-rw' disk option
  qemu: command: Mark <shared/> disks as such in qemu

 src/qemu/qemu_block.c                              |  15 ++
 src/qemu/qemu_block.h                              |   3 +
 src/qemu/qemu_capabilities.c                       |   2 +
 src/qemu/qemu_capabilities.h                       |   1 +
 src/qemu/qemu_command.c                            |   4 +
 src/qemu/qemu_domain.c                             | 291 +++++++++++++--------
 src/qemu/qemu_driver.c                             | 121 +++++----
 .../caps_2.10.0-gicv2.aarch64.xml                  |   1 +
 .../caps_2.10.0-gicv3.aarch64.xml                  |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   1 +
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml    |   1 +
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   |   1 +
 .../qemuxml2argv-disk-drive-shared-locking.args    |  28 ++
 .../qemuxml2argv-disk-drive-shared-locking.xml     |  36 +++
 .../qemuxml2argv-disk-drive-shared-qcow.xml        |  28 ++
 .../qemuxml2argv-disk-drive-shared.args            |   2 +-
 .../qemuxml2argv-disk-drive-shared.xml             |   2 +-
 tests/qemuxml2argvtest.c                           |   3 +
 19 files changed, 378 insertions(+), 164 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared-locking.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared-locking.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared-qcow.xml

-- 
2.14.3




More information about the libvir-list mailing list