On 10/9/25 17:16, Peter Krempa via Devel wrote:
This series is RFC as there's pending QEMU work enabling either of the groups:
For the limits the following qemu patches are needed:
https://lists.nongnu.org/archive/html/qemu-block/2025-09/msg00804.html
For timed stats, the statistics already exist but can't be enabled without:
https://lists.nongnu.org/archive/html/qemu-block/2025-10/msg00040.html
Patches 1-8 are cleanups and refactors
Patches 9-10 extract and expose the block backing file limits.
Patches 11-12 extract and expose the timed statistics
Patch 13 is qemu capabilities update with the necessary changes and is not to be merged upstream; will be replaced by a proper update.
Patches 14-16 add infrastructure to enable timed stats.
Peter Krempa (16): qemu: monitor: Remove qemuMonitorQueryBlockstats qemu_monitor_json.c: Use consistent function hader coding style qemu_monitor_json.h: Use consistent function hader coding style qemu: monitor: Rework qemuBlockStats into a g_object qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities qemuMonitorJSONBlockStatsUpdateCapacityData: Merge into caller qemuMonitorJSONGetAllBlockStatsInfo: Directly probe data from 'query-named-block-nodes' Remove qemuMonitorBlockStatsUpdateCapacityBlockdev qemu: monitor: Extract block limit values Expose qemu storage request limits via bulk stats API qemu_monitor: Extract 'timed_stats' of block devices Expose qemu timed block statistics via bulk stats API DO_NOT_MERGE: Update qemu capabilities after adding patches for block limits and timed stats qemu: capabilities: Introduce QEMU_CAPS_DISK_TIMED_STATS conf: Add configuration option for timed disk statistics collection qemu: Add support for enabling timed block device statistics collection
docs/formatdomain.rst | 17 + docs/manpages/virsh.rst | 54 + include/libvirt/libvirt-domain.h | 326 ++++ src/conf/domain_conf.c | 34 + src/conf/domain_conf.h | 2 + src/conf/schemas/domaincommon.rng | 11 + src/qemu/qemu_capabilities.c | 5 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 15 + src/qemu/qemu_driver.c | 203 ++- src/qemu/qemu_migration_cookie.c | 17 +- src/qemu/qemu_monitor.c | 58 +- src/qemu/qemu_monitor.h | 1191 ++++++++------ src/qemu/qemu_monitor_json.c | 607 +++++--- src/qemu/qemu_monitor_json.h | 6 - src/qemu/qemu_validate.c | 29 + .../caps_10.2.0_x86_64.replies | 1373 +++++++++-------- .../caps_10.2.0_x86_64.xml | 3 +- tests/qemumonitorjsontest.c | 2 + ...sk-statistics-intervals.x86_64-latest.args | 37 + ...isk-statistics-intervals.x86_64-latest.xml | 57 + .../disk-statistics-intervals.xml | 46 + tests/qemuxmlconftest.c | 1 + 23 files changed, 2686 insertions(+), 1409 deletions(-) create mode 100644 tests/qemuxmlconfdata/disk-statistics-intervals.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/disk-statistics-intervals.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/disk-statistics-intervals.xml
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> If you're willing to merge cleanup patches now go ahead. Or wait until QEMU part is merged. Whatever. Michal