[PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***

Harikumar Rajkumar posted 18 patches 9 months, 4 weeks ago
Failed in applying to current master (apply log)
docs/formatdomain.rst                         |  47 ++
docs/manpages/virsh.rst                       | 137 +++-
include/libvirt/libvirt-domain.h              |  14 +
src/conf/domain_conf.c                        | 407 ++++++++++
src/conf/domain_conf.h                        |  47 ++
src/conf/domain_validate.c                    | 118 ++-
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                       | 180 +++++
src/qemu/qemu_command.h                       |   6 +
src/qemu/qemu_domain.c                        |  77 +-
src/qemu/qemu_driver.c                        | 485 +++++++++---
src/qemu/qemu_hotplug.c                       |  29 +
src/qemu/qemu_monitor.c                       |  21 +
src/qemu/qemu_monitor.h                       |   9 +
src/qemu/qemu_monitor_json.c                  | 129 +++
src/qemu/qemu_monitor_json.h                  |  14 +
src/remote/remote_daemon_dispatch.c           | 105 +++
src/remote/remote_driver.c                    |   3 +
src/remote/remote_protocol.x                  |  50 +-
src/remote_protocol-structs                   |  28 +
src/test/test_driver.c                        | 367 ++++++---
tests/qemumonitorjsontest.c                   |  86 ++
.../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         |  55 ++
.../throttlefilter.x86_64-latest.xml          | 105 +++
tests/qemuxmlconfdata/throttlefilter.xml      |  95 +++
tests/qemuxmlconftest.c                       |   2 +
tools/virsh-completer-domain.c                |  82 ++
tools/virsh-completer-domain.h                |  16 +
tools/virsh-domain.c                          | 736 ++++++++++++++----
41 files changed, 4428 insertions(+), 530 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 v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 4 weeks ago
*** Support block disk along with throttle filters ***

Chun Feng Wu (17):
  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
  test_driver: Test throttle group lifecycle APIs
  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

This patch version addresses the feedback provided on patch v5, which includes the following modifications:
* Reimplementation of the "get throttle group" to query from the XML.
* Allowing the SET API to reset the throttle group config fields to its default in QEMU.
* Updating the version to 11.1.0.
* Implementing various coding style changes as suggested.
* Removal of unnecessary comments.

 docs/formatdomain.rst                         |  47 ++
 docs/manpages/virsh.rst                       | 137 +++-
 include/libvirt/libvirt-domain.h              |  14 +
 src/conf/domain_conf.c                        | 407 ++++++++++
 src/conf/domain_conf.h                        |  47 ++
 src/conf/domain_validate.c                    | 118 ++-
 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                       | 180 +++++
 src/qemu/qemu_command.h                       |   6 +
 src/qemu/qemu_domain.c                        |  77 +-
 src/qemu/qemu_driver.c                        | 485 +++++++++---
 src/qemu/qemu_hotplug.c                       |  29 +
 src/qemu/qemu_monitor.c                       |  21 +
 src/qemu/qemu_monitor.h                       |   9 +
 src/qemu/qemu_monitor_json.c                  | 129 +++
 src/qemu/qemu_monitor_json.h                  |  14 +
 src/remote/remote_daemon_dispatch.c           | 105 +++
 src/remote/remote_driver.c                    |   3 +
 src/remote/remote_protocol.x                  |  50 +-
 src/remote_protocol-structs                   |  28 +
 src/test/test_driver.c                        | 367 ++++++---
 tests/qemumonitorjsontest.c                   |  86 ++
 .../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         |  55 ++
 .../throttlefilter.x86_64-latest.xml          | 105 +++
 tests/qemuxmlconfdata/throttlefilter.xml      |  95 +++
 tests/qemuxmlconftest.c                       |   2 +
 tools/virsh-completer-domain.c                |  82 ++
 tools/virsh-completer-domain.h                |  16 +
 tools/virsh-domain.c                          | 736 ++++++++++++++----
 41 files changed, 4428 insertions(+), 530 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.39.5 (Apple Git-154)
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Peter Krempa via Devel 9 months ago
On Wed, Feb 19, 2025 at 22:27:04 +0530, Harikumar Rajkumar wrote:
> *** Support block disk along with throttle filters ***
> 
> Chun Feng Wu (17):
>   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
>   test_driver: Test throttle group lifecycle APIs
>   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

While testing I've noticed that the new filters didn't properly work
after 'virDomainBlockCopy'. As this happens also for other filters
(currently copy-on-read) it's arguably a pre-existing bug.

The following series, and specifically patch:

https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/ZLUL7YDAXK6PEO5ZC7GP7IHJZK4FAATT/

Will need to be applied first.
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 1 week ago
Hi Team, Could we please get an ETA on when the review will be completed? We would greatly appreciate it if the review could be completed as soon as possible. Apologies for the urgency, but we have a dependency on these changes.

Thank you for your understanding!

Best regards,
Harikumar R
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Peter Krempa 9 months, 1 week ago
On Wed, Mar 12, 2025 at 08:15:12 -0000, Harikumar Rajkumar wrote:
> Hi Team, Could we please get an ETA on when the review will be completed?

No, not really. In the patches I went through I updated the docs to
mention 11.2.0. I hope I will not have to update it further.

It depends on how the rest will look but the first patches required
modification besides fixing version numbers.

> We would greatly appreciate it if the review could be completed as soon as possible. Apologies for the urgency, but we have a dependency on these changes.

Please understand that this is a niche feature that entails a lot of
code. Based on your interaction with upstream it is also very likely,
once merged, will be inherited for us to maintain.

As review and maintenance is something that most projects struggle with
the best way to incentivze an upstream to merge a niche complex feature
is to contribute also manitenance and review resources to the projec to
offset the maintenance burden of the code you are proposing to merge.

> Thank you for your understanding!

Likewise I'd like to thank you for understanding the two paragraphs
above.
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 1 week ago
Thank you for the update. I understand that the review process is complex, and the feature potentially requiring ongoing maintenance. I appreciate the effort and work that has been invested so far.
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 3 weeks ago
Hi Team, 

Could you kindly confirm if the new version of the code is currently under review?

Thanks and Regards,
Harikumar R
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 2 weeks ago
> Hi Team, 
> 
> Could you kindly confirm if the new version of the code is currently under review?
> 
> Thanks and Regards,
> Harikumar R

I just wanted to follow up on my previous message regarding the new version of the code. Could you kindly confirm if it’s currently under review? I would appreciate any updates when you have a moment.

Thank you!

Best regards,
Harikumar R
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Peter Krempa 9 months, 2 weeks ago
On Mon, Mar 03, 2025 at 15:23:15 -0000, Harikumar Rajkumar wrote:
> > Hi Team, 
> > 
> > Could you kindly confirm if the new version of the code is currently under review?
> > 
> > Thanks and Regards,
> > Harikumar R
> 
> I just wanted to follow up on my previous message regarding the new version of the code. Could you kindly confirm if it’s currently under review? I would appreciate any updates when you have a moment.

Sorry I was busy. I'll pick this up.

Please do not send any new versions until I'm done; I'll be updating
version info and ohter small things. If something larger turns up I'll
give you a branch with the small things updated.
Re: [PATCH v8 00/18] *** qemu: block: Support block disk along with throttle filters ***
Posted by Harikumar Rajkumar 9 months, 2 weeks ago
> On Mon, Mar 03, 2025 at 15:23:15 -0000, Harikumar Rajkumar wrote:
> 
> Sorry I was busy. I'll pick this up.
> 
> Please do not send any new versions until I'm done; I'll be updating
> version info and ohter small things. If something larger turns up I'll
> give you a branch with the small things updated.

Sure. Thanks