[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 00/55] qemu: Add support for -blockdev



In this version everything except blockjobs should work properly.

Stats were fixed so that they are properly extracted from the new output
in qemu. Additionally I've also fixed the disk resize API which I forgot
last time.

The blockjobs support is still missing so they either will not work or
will mess up internal state. That means that the last patch still should
not be pushed leaving this feature dormant until we achieve full feature
parity.

Peter Krempa (55):
  tests: qemumonitorjson: Simplify debugging of 'blockInfo' test
  qemu: Improve errors in qemuDomainBlockResize
  qemu: monitor: Remove unsupported function check for 'block_resize'
  qemu: monitor: Remove useless 'locked' property from struct
    qemuDomainDiskInfo
  tests: qemucapabilities: Update capability data for qemu 3.0.0
  Revert "qemu: monitor: Add the 'query-nodes' argument for
    query-blockstats"
  qemu: monitor: Reuse qemuMonitorJSONQueryBlock in
    qemuMonitorJSONBlockIoThrottleInfo
  qemu: monitor: Allow using 'id' instead of 'device' for
    'block_set_io_throttle'
  qemu: monitor: Allow using 'qdev' instead of 'device' for getting disk
    throttling
  qemu: monitor: Add 'nodename' argument for 'block_resize'
  tests: qemu: Drop disk from hostdev-mdev tests
  tests: qemuxml2argv: Fork CAPS_LATEST test cases for 'blockdev'
  tests: qemu: Add test data for backing chains and indexes
  qemu: hotplug: Don't generate alias when detaching disk
  util: virqemu: Simplify debugging if building QOM object with missing
    args
  qemu: caps: Add capability for using the blockdev infrastructure
  qemu: process: clear QEMU_CAPS_BLOCKDEV for VMs where we can't support
    it
  qemu: domain: Don't redetect backing chain when using -blockdev
  qemu: process: Don't detect nodenames when we support -blockdev
  conf: domain: Format out user provided backing chains in XML
  qemu: domain: Add infrastructure to generate block node names
  conf: Implement private data formatting and parsing for disks
  conf: Allow formatting and parsing of 'index' for disk source image
  qemu: Use proper backingIndex when reporting stats for backing chain
  qemu: Add field to store QDEV path of a disk in private data
  qemu: alias: Generate QDEV name of the block backend for disks
  qemu: domain: Add field for storing node name for copy-on-read
  qemu: proces: assign node names for user defined backing chains
  qemu: block: Add generator for the 'copy-on-read' blockdev driver
  qemu: domain: Prepare qemuDomainDiskGetBackendAlias for -blockdev
  qemu: command: format disk source commandline for -blockdev
  qemu: command: Add helper to check if disk throttling is enabled
  qemu: process: Setup disk io throttling for -blockdev
  qemu: driver: Use QOM backend name for disk IO throttling APIs
  qemu: driver: Prepare qemuDomainBlockResize for blockdev
  qemu: hotplug: Prepare for blockdev-add/blockdev-del with backing
    chains
  qemu: monitor: Add APIs for cdrom tray handling for -blockdev
  qemu: hotplug: Implement removable media change for -blockdev
  qemu: driver: Don't copy disk alias in qemuDomainBlocksStatsGather
  qemu: Explicitly find disks for stats totals
  qemu: monitor: Retrieve blockstats also by qdev and node-names
  qemu: monitor: Add APIs for refreshing disk capacity when using
    -blockdev
  qemu: driver: Don't pass 'virDomainDiskDefPtr' to
    qemuDomainGetStatsOneBlock
  qemu: monitor: Extract 'write-threshold' automatically for -blockdev
  qemu: Extract exporting of disk block statistics
  qemu: Extract exporting of the header for block stats
  qemu: Export stats relevant for the frontend separately
  qemu: Refactor control flow in qemuDomainGetStatsBlockExportDisk
  qemu: Report frontend stats only for the frontend entry
  qemu: Export stats relevant for the storage backend
  qemu: monitor: Report data also for 'qdev' entry in
    qemuMonitorJSONGetBlockInfo
  qemu: Use QOM path with query-block when using -blockdev
  qemu: driver: Allow using blockdev with qemuDomainBlocksStatsGather
  qemu: driver: Prepare qemuDomainGetStatsBlock (bulk disk stats) for
    -blockdev
  DO NOT APPLY: Enable QEMU_CAPS_BLOCKDEV if 'query-blockstats' works
    with -blockdev

 docs/formatdomain.html.in                          |   7 +-
 docs/schemas/domaincommon.rng                      |  19 +
 src/conf/domain_conf.c                             |  89 +++-
 src/conf/domain_conf.h                             |   7 +
 src/qemu/qemu_alias.c                              |  86 ++-
 src/qemu/qemu_alias.h                              |   3 +-
 src/qemu/qemu_block.c                              |  24 +-
 src/qemu/qemu_block.h                              |   2 +
 src/qemu/qemu_capabilities.c                       |   2 +
 src/qemu/qemu_capabilities.h                       |   1 +
 src/qemu/qemu_command.c                            |  94 +++-
 src/qemu/qemu_command.h                            |   3 +
 src/qemu/qemu_domain.c                             | 173 +++++-
 src/qemu/qemu_domain.h                             |  10 +-
 src/qemu/qemu_driver.c                             | 419 +++++++++++----
 src/qemu/qemu_hotplug.c                            | 175 +++++-
 src/qemu/qemu_monitor.c                            |  98 +++-
 src/qemu/qemu_monitor.h                            |  33 +-
 src/qemu/qemu_monitor_json.c                       | 395 +++++++++++---
 src/qemu/qemu_monitor_json.h                       |  33 +-
 src/qemu/qemu_process.c                            |  82 ++-
 src/util/virqemu.c                                 |   5 +-
 .../qemucapabilitiesdata/caps_3.0.0.x86_64.replies | 591 +++------------------
 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml   |   9 +-
 tests/qemumonitorjsontest.c                        |  34 +-
 tests/qemustatusxml2xmldata/modern-in.xml          |   6 +
 tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args |  37 ++
 tests/qemuxml2argvdata/disk-aio.x86_64-latest.args |  19 +-
 .../disk-backing-chains-index.x86_64-2.12.0.args   |   1 +
 .../disk-backing-chains-index.x86_64-latest.args   |   1 +
 .../qemuxml2argvdata/disk-backing-chains-index.xml | 145 +++++
 .../disk-backing-chains-noindex.x86_64-2.12.0.args |  58 ++
 .../disk-backing-chains-noindex.x86_64-latest.args | 163 ++++++
 .../disk-backing-chains-noindex.xml                | 145 +++++
 .../qemuxml2argvdata/disk-cache.x86_64-2.12.0.args |  50 ++
 .../qemuxml2argvdata/disk-cache.x86_64-latest.args |  50 +-
 .../disk-cdrom-network.x86_64-2.12.0.args          |  41 ++
 .../disk-cdrom-network.x86_64-latest.args          |  32 +-
 .../disk-cdrom-tray.x86_64-2.12.0.args             |  39 ++
 .../disk-cdrom-tray.x86_64-latest.args             |  24 +-
 .../qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args |  35 ++
 .../qemuxml2argvdata/disk-cdrom.x86_64-latest.args |  17 +-
 .../disk-copy_on_read.x86_64-2.12.0.args           |  41 ++
 .../disk-copy_on_read.x86_64-latest.args           |  19 +-
 .../disk-detect-zeroes.x86_64-2.12.0.args          |  37 ++
 .../disk-detect-zeroes.x86_64-latest.args          |  17 +-
 .../disk-error-policy.x86_64-2.12.0.args           |  41 ++
 .../disk-error-policy.x86_64-latest.args           |  30 +-
 .../disk-floppy.x86_64-2.12.0.args                 |  35 ++
 .../disk-network-gluster.x86_64-2.12.0.args        |  44 ++
 .../disk-network-gluster.x86_64-latest.args        |  32 +-
 .../disk-network-iscsi.x86_64-2.12.0.args          |  63 +++
 .../disk-network-iscsi.x86_64-latest.args          |  58 +-
 .../disk-network-nbd.x86_64-2.12.0.args            |  46 ++
 .../disk-network-nbd.x86_64-latest.args            |  41 +-
 .../disk-network-rbd.x86_64-2.12.0.args            |  61 +++
 .../disk-network-rbd.x86_64-latest.args            |  67 ++-
 .../disk-network-sheepdog.x86_64-2.12.0.args       |  35 ++
 .../disk-network-sheepdog.x86_64-latest.args       |  16 +-
 .../disk-network-source-auth.x86_64-2.12.0.args    |  47 ++
 .../disk-network-source-auth.x86_64-latest.args    |  30 +-
 .../disk-network-tlsx509.x86_64-2.12.0.args        |  59 ++
 .../disk-network-tlsx509.x86_64-latest.args        |  61 ++-
 .../disk-readonly-disk.x86_64-2.12.0.args          |  34 ++
 .../disk-readonly-disk.x86_64-latest.args          |  14 +-
 .../disk-shared.x86_64-2.12.0.args                 |  37 ++
 .../disk-shared.x86_64-latest.args                 |  18 +-
 ...isk-virtio-scsi-reservations.x86_64-2.12.0.args |  43 ++
 ...isk-virtio-scsi-reservations.x86_64-latest.args |  20 +-
 .../floppy-drive-fat.x86_64-2.12.0.args            |  33 ++
 .../hostdev-mdev-display-missing-graphics.xml      |   6 -
 ...v-display-spice-egl-headless.x86_64-latest.args |   2 -
 .../hostdev-mdev-display-spice-egl-headless.xml    |   6 -
 ...ev-mdev-display-spice-opengl.x86_64-latest.args |   2 -
 .../hostdev-mdev-display-spice-opengl.xml          |   6 -
 ...dev-display-vnc-egl-headless.x86_64-latest.args |   2 -
 .../hostdev-mdev-display-vnc-egl-headless.xml      |   6 -
 .../hostdev-mdev-display-vnc.x86_64-latest.args    |   2 -
 .../qemuxml2argvdata/hostdev-mdev-display-vnc.xml  |   6 -
 tests/qemuxml2argvdata/hostdev-mdev-display.xml    |   6 -
 .../hostdev-mdev-invalid-target-address.xml        |   5 -
 .../qemuxml2argvdata/hostdev-mdev-precreated.args  |   2 -
 tests/qemuxml2argvdata/hostdev-mdev-precreated.xml |   6 -
 .../hostdev-mdev-src-address-invalid.xml           |   6 -
 tests/qemuxml2argvtest.c                           |  24 +
 .../disk-backing-chains-inactive.xml               |  35 ++
 .../disk-backing-chains-index-active.xml           | 156 ++++++
 .../disk-backing-chains-index-inactive.xml         | 156 ++++++
 .../disk-backing-chains-noindex-active.xml         | 156 ++++++
 .../disk-backing-chains-noindex-inactive.xml       | 156 ++++++
 tests/qemuxml2xmloutdata/disk-mirror-inactive.xml  |   4 +
 .../disk-mirror-old-inactive.xml                   |   4 +
 tests/qemuxml2xmloutdata/hostdev-mdev-display.xml  |   6 -
 .../qemuxml2xmloutdata/hostdev-mdev-precreated.xml |   6 -
 tests/qemuxml2xmltest.c                            |   2 +
 95 files changed, 4017 insertions(+), 1087 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
 create mode 120000 tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-2.12.0.args
 create mode 120000 tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-index.xml
 create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.xml
 create mode 100644 tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
 create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-index-active.xml
 create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-index-inactive.xml
 create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-noindex-active.xml
 create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-noindex-inactive.xml

-- 
2.16.2


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]