[PATCH v9 reviewed 00/17] qemu: block: Support block disk along with throttle filters

Peter Krempa via Devel posted 17 patches 1 month, 1 week ago
docs/formatdomain.rst                         |  47 ++
docs/manpages/virsh.rst                       | 137 +++-
include/libvirt/libvirt-domain.h              |  14 +
src/conf/domain_conf.c                        | 409 +++++++++++
src/conf/domain_conf.h                        |  47 ++
src/conf/domain_validate.c                    | 124 +++-
src/conf/schemas/domaincommon.rng             | 293 ++++----
src/conf/virconftypes.h                       |   4 +
src/driver-hypervisor.h                       |  14 +
src/libvirt-domain.c                          | 122 +++
src/libvirt_private.syms                      |   8 +
src/libvirt_public.syms                       |   6 +
src/qemu/qemu_block.c                         | 136 ++++
src/qemu/qemu_block.h                         |  49 ++
src/qemu/qemu_command.c                       | 171 +++++
src/qemu/qemu_command.h                       |   6 +
src/qemu/qemu_domain.c                        |  77 +-
src/qemu/qemu_driver.c                        | 467 +++++++++---
src/qemu/qemu_hotplug.c                       |  16 +
src/qemu/qemu_monitor.c                       |  21 +
src/qemu/qemu_monitor.h                       |   9 +
src/qemu/qemu_monitor_json.c                  |  61 ++
src/qemu/qemu_monitor_json.h                  |   9 +
src/remote/remote_driver.c                    |   2 +
src/remote/remote_protocol.x                  |  31 +-
src/remote_protocol-structs                   |  16 +
tests/qemumonitorjsontest.c                   |  51 ++
.../throttlefilter-in.xml                     | 392 ++++++++++
.../throttlefilter-out.xml                    | 393 ++++++++++
tests/qemuxmlactivetest.c                     |   1 +
.../throttlefilter-invalid.x86_64-latest.err  |   1 +
.../throttlefilter-invalid.xml                |  89 +++
.../throttlefilter.x86_64-latest.args         |  56 ++
.../throttlefilter.x86_64-latest.xml          | 105 +++
tests/qemuxmlconfdata/throttlefilter.xml      |  95 +++
tests/qemuxmlconftest.c                       |   2 +
tools/virsh-completer-domain.c                |  63 ++
tools/virsh-completer-domain.h                |  14 +
tools/virsh-domain.c                          | 695 ++++++++++++++----
39 files changed, 3845 insertions(+), 408 deletions(-)
create mode 100644 tests/qemustatusxml2xmldata/throttlefilter-in.xml
create mode 100644 tests/qemustatusxml2xmldata/throttlefilter-out.xml
create mode 100644 tests/qemuxmlconfdata/throttlefilter-invalid.x86_64-latest.err
create mode 100644 tests/qemuxmlconfdata/throttlefilter-invalid.xml
create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/throttlefilter.xml
[PATCH v9 reviewed 00/17] qemu: block: Support block disk along with throttle filters
Posted by Peter Krempa via Devel 1 month, 1 week ago
v9 of the throttle filtering series with my reviews and R-b tags
applied.

Requires

[PATCH 0/5] qemu: Two block job fixes
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/TX2YAFHOFO46GR7WVQSPURWHL6O2KCDZ/

to be applied to work properly.

Posting for tracking and possibly final review of API. I'll push it
before the freeze if there won't be further comments.

Changes (most recorded in commit messages):
 - removed leftover code after deletion of some of the APIs
 - fixed numerous memleaks
 - simplified virsh code
 - dropped test driver pach

Chun Feng Wu (16):
  schema: Add new domain elements to support multiple throttle groups
  schema: Add new domain elements to support multiple throttle filters
  config: Introduce ThrottleGroup and corresponding XML parsing
  config: Introduce ThrottleFilter and corresponding XML parsing
  qemu: monitor: Add support for ThrottleGroup operations
  tests: Test qemuMonitorJSONGetThrottleGroup and
    qemuMonitorJSONUpdateThrottleGroup
  remote: New APIs for ThrottleGroup lifecycle management
  qemu: Refactor qemuDomainSetBlockIoTune to extract common methods
  qemu: Implement qemu driver for throttle API
  qemu: helper: throttle filter nodename and preparation processing
  qemu: block: Support block disk along with throttle filters
  config: validate: Verify iotune, throttle group and filter
  qemuxmlconftest: Add 'throttlefilter' tests
  virsh: Refactor iotune options for re-use
  virsh: Add support for throttle group operations
  virsh: Add option "throttle-groups" to "attach_disk"

Harikumar Rajkumar (1):
  qemustatusxml2xmldata: Add 'throttlefilter' tests

 docs/formatdomain.rst                         |  47 ++
 docs/manpages/virsh.rst                       | 137 +++-
 include/libvirt/libvirt-domain.h              |  14 +
 src/conf/domain_conf.c                        | 409 +++++++++++
 src/conf/domain_conf.h                        |  47 ++
 src/conf/domain_validate.c                    | 124 +++-
 src/conf/schemas/domaincommon.rng             | 293 ++++----
 src/conf/virconftypes.h                       |   4 +
 src/driver-hypervisor.h                       |  14 +
 src/libvirt-domain.c                          | 122 +++
 src/libvirt_private.syms                      |   8 +
 src/libvirt_public.syms                       |   6 +
 src/qemu/qemu_block.c                         | 136 ++++
 src/qemu/qemu_block.h                         |  49 ++
 src/qemu/qemu_command.c                       | 171 +++++
 src/qemu/qemu_command.h                       |   6 +
 src/qemu/qemu_domain.c                        |  77 +-
 src/qemu/qemu_driver.c                        | 467 +++++++++---
 src/qemu/qemu_hotplug.c                       |  16 +
 src/qemu/qemu_monitor.c                       |  21 +
 src/qemu/qemu_monitor.h                       |   9 +
 src/qemu/qemu_monitor_json.c                  |  61 ++
 src/qemu/qemu_monitor_json.h                  |   9 +
 src/remote/remote_driver.c                    |   2 +
 src/remote/remote_protocol.x                  |  31 +-
 src/remote_protocol-structs                   |  16 +
 tests/qemumonitorjsontest.c                   |  51 ++
 .../throttlefilter-in.xml                     | 392 ++++++++++
 .../throttlefilter-out.xml                    | 393 ++++++++++
 tests/qemuxmlactivetest.c                     |   1 +
 .../throttlefilter-invalid.x86_64-latest.err  |   1 +
 .../throttlefilter-invalid.xml                |  89 +++
 .../throttlefilter.x86_64-latest.args         |  56 ++
 .../throttlefilter.x86_64-latest.xml          | 105 +++
 tests/qemuxmlconfdata/throttlefilter.xml      |  95 +++
 tests/qemuxmlconftest.c                       |   2 +
 tools/virsh-completer-domain.c                |  63 ++
 tools/virsh-completer-domain.h                |  14 +
 tools/virsh-domain.c                          | 695 ++++++++++++++----
 39 files changed, 3845 insertions(+), 408 deletions(-)
 create mode 100644 tests/qemustatusxml2xmldata/throttlefilter-in.xml
 create mode 100644 tests/qemustatusxml2xmldata/throttlefilter-out.xml
 create mode 100644 tests/qemuxmlconfdata/throttlefilter-invalid.x86_64-latest.err
 create mode 100644 tests/qemuxmlconfdata/throttlefilter-invalid.xml
 create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.args
 create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.xml
 create mode 100644 tests/qemuxmlconfdata/throttlefilter.xml

-- 
2.48.1
Re: [PATCH v9 reviewed 00/17] qemu: block: Support block disk along with throttle filters
Posted by Ján Tomko via Devel 1 month, 1 week ago
On a Tuesday in 2025, Peter Krempa via Devel wrote:
>v9 of the throttle filtering series with my reviews and R-b tags
>applied.
>
>Requires
>
>[PATCH 0/5] qemu: Two block job fixes
>https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/TX2YAFHOFO46GR7WVQSPURWHL6O2KCDZ/
>
>to be applied to work properly.
>
>Posting for tracking and possibly final review of API. I'll push it
>before the freeze if there won't be further comments.
>
>Changes (most recorded in commit messages):
> - removed leftover code after deletion of some of the APIs
> - fixed numerous memleaks
> - simplified virsh code
> - dropped test driver pach
>
>Chun Feng Wu (16):
>  schema: Add new domain elements to support multiple throttle groups
>  schema: Add new domain elements to support multiple throttle filters
>  config: Introduce ThrottleGroup and corresponding XML parsing
>  config: Introduce ThrottleFilter and corresponding XML parsing
>  qemu: monitor: Add support for ThrottleGroup operations
>  tests: Test qemuMonitorJSONGetThrottleGroup and
>    qemuMonitorJSONUpdateThrottleGroup
>  remote: New APIs for ThrottleGroup lifecycle management
>  qemu: Refactor qemuDomainSetBlockIoTune to extract common methods
>  qemu: Implement qemu driver for throttle API
>  qemu: helper: throttle filter nodename and preparation processing
>  qemu: block: Support block disk along with throttle filters
>  config: validate: Verify iotune, throttle group and filter
>  qemuxmlconftest: Add 'throttlefilter' tests
>  virsh: Refactor iotune options for re-use
>  virsh: Add support for throttle group operations
>  virsh: Add option "throttle-groups" to "attach_disk"
>
>Harikumar Rajkumar (1):
>  qemustatusxml2xmldata: Add 'throttlefilter' tests
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
Re: [PATCH v9 reviewed 00/17] qemu: block: Support block disk along with throttle filters
Posted by Peter Krempa via Devel 1 month, 1 week ago
On Wed, Mar 19, 2025 at 03:00:47 +0100, Ján Tomko wrote:
> On a Tuesday in 2025, Peter Krempa via Devel wrote:
> > v9 of the throttle filtering series with my reviews and R-b tags
> > applied.
> > 
> > Requires
> > 
> > [PATCH 0/5] qemu: Two block job fixes
> > https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/TX2YAFHOFO46GR7WVQSPURWHL6O2KCDZ/
> > 
> > to be applied to work properly.
> > 
> > Posting for tracking and possibly final review of API. I'll push it
> > before the freeze if there won't be further comments.
> > 
> > Changes (most recorded in commit messages):
> > - removed leftover code after deletion of some of the APIs
> > - fixed numerous memleaks
> > - simplified virsh code
> > - dropped test driver pach
> > 
> > Chun Feng Wu (16):
> >  schema: Add new domain elements to support multiple throttle groups
> >  schema: Add new domain elements to support multiple throttle filters
> >  config: Introduce ThrottleGroup and corresponding XML parsing
> >  config: Introduce ThrottleFilter and corresponding XML parsing
> >  qemu: monitor: Add support for ThrottleGroup operations
> >  tests: Test qemuMonitorJSONGetThrottleGroup and
> >    qemuMonitorJSONUpdateThrottleGroup
> >  remote: New APIs for ThrottleGroup lifecycle management
> >  qemu: Refactor qemuDomainSetBlockIoTune to extract common methods
> >  qemu: Implement qemu driver for throttle API
> >  qemu: helper: throttle filter nodename and preparation processing
> >  qemu: block: Support block disk along with throttle filters
> >  config: validate: Verify iotune, throttle group and filter
> >  qemuxmlconftest: Add 'throttlefilter' tests
> >  virsh: Refactor iotune options for re-use
> >  virsh: Add support for throttle group operations
> >  virsh: Add option "throttle-groups" to "attach_disk"
> > 
> > Harikumar Rajkumar (1):
> >  qemustatusxml2xmldata: Add 'throttlefilter' tests
> > 
> 
> Reviewed-by: Ján Tomko <jtomko@redhat.com>

Thanks; pushed now.

Harikumar; please give it a test on your side as well. You can also
provide NEWS update.