[PATCH RFC 02/12] qemu: monitor: Add support for ThrottleGroup operations

2024-04-09 Thread wucf
From: Chun Feng Wu * ThrottleGroup is updated through "qemuMonitorJSONUpdateThrottleGroup" * ThrottleGroup is retrieved through "qemuMonitorJSONGetThrottleGroup" * ThrottleGroup is deleted by reusing "qemuMonitorDelObject" * ThrottleGroup is added by reusing "qemuMonitorAddObject" *

[PATCH RFC 04/12] qemu: hotplug: Support hot attach block disk along with throttle filters

2024-04-09 Thread wucf
From: Chun Feng Wu When attaching disk along with specified throttle groups, those groups will be chained up by parent node name, this change includes service side codes: * Each filter references one throttle group by group name * Each filter has a nodename, and those filters are chained up in

[PATCH RFC 03/12] remote: New APIs for ThrottleGroup lifecycle management

2024-04-09 Thread wucf
From: Chun Feng Wu Support throttlegroup lifecycle management by the following implementation: * New methods defined in "include/libvirt/libvirt-domain.h" * And they're exported in "src/libvirt_public.syms" * Corresponding internal API is defined in "src/driver-hypervisor.h" * Public API calls

[PATCH RFC 07/12] test: Test throttle group lifecycle APIs

2024-04-09 Thread wucf
From: Chun Feng Wu * Test "Set": testDomainSetThrottleGroup * Test "Get": testDomainGetThrottleGroup * Test "Del": testDomainDelThrottleGroup Signed-off-by: Chun Feng Wu --- src/test/test_driver.c | 380 + 1 file changed, 380 insertions(+) diff --git

[PATCH RFC 11/12] config: validate: Use "iotune" and "throttlefilters" exclusively for specific disk

2024-04-09 Thread wucf
From: Yan Xiu Wu No need to use both "iotune" and "throttlefilters" for specific disk Signed-off-by: Yan Xiu Wu --- src/conf/domain_validate.c | 7 +++ src/qemu/qemu_driver.c | 5 + 2 files changed, 12 insertions(+) diff --git a/src/conf/domain_validate.c

[PATCH RFC 05/12] qemu: command: Support throttle groups and filters during qemuProcessLaunch

2024-04-09 Thread wucf
From: Chun Feng Wu * Add qemuBuildThrottleGroupCommandLine in qemuBuildCommandLine * Add qemuBuildThrottleFiltersCommandLine in qemuBuildDiskCommandLine * Make sure referenced throttle group exists Signed-off-by: Chun Feng Wu --- src/conf/domain_validate.c | 14 ++ src/qemu/qemu_command.c

[PATCH RFC 08/12] tests: Test qemuMonitorJSONGetThrottleGroup and qemuMonitorJSONUpdateThrottleGroup

2024-04-09 Thread wucf
From: Chun Feng Wu Within "testQemuMonitorJSONqemuMonitorJSONUpdateThrottleGroup" * Test qemuMonitorJSONGetThrottleGroup * Test qemuMonitorJSONUpdateThrottleGroup, which updates limits through "qom-set" Signed-off-by: Chun Feng Wu --- tests/qemumonitorjsontest.c | 89

[PATCH RFC 12/12] config: validate: Verify throttle group fields

2024-04-09 Thread wucf
From: Hao Ning Xin Both throttlegroup and iotune share the same fields, so they share the same verification logic Signed-off-by: Hao Ning Xin --- src/conf/domain_validate.c | 94 -- 1 file changed, 60 insertions(+), 34 deletions(-) diff --git

[PATCH RFC 10/12] remote: Define remote_domain_set_throttle_group_args and adjust throttle structs sequence

2024-04-09 Thread wucf
From: Yu Jie Gu * Add remote_domain_set_throttle_group_args * Adjust sequence to be consistent with remote_procedure section Signed-off-by: Yu Jie Gu --- src/remote_protocol-structs | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-) diff --git

[PATCH RFC 09/12] virsh: Add support for throttle group operations

2024-04-09 Thread wucf
From: Chun Feng Wu * Add new cmds: throttlegroupset, throttlegrouplist, throttlegroupinfo, throttlegroupdel * Update "attach_disk" to support new option: throttle-groups to form filter chain in QEMU for specific disk Signed-off-by: Chun Feng Wu --- tools/virsh-completer-domain.c | 62

[PATCH RFC 06/12] schema: Add new domain elements to support multiple throttle filters

2024-04-09 Thread wucf
From: Chun Feng Wu * Add new elements '' and '' * contains defintions * can include multiple throttlegroup references to form filter chain in qemu * Chained throttle filters feature in qemu is described at https://github.com/qemu/qemu/blob/master/docs/throttle.txt Signed-off-by: Chun Feng

[PATCH RFC 01/12] config: Introduce ThrottleGroup and ThrottleFilter

2024-04-09 Thread wucf
From: Chun Feng Wu * Define new structs 'virDomainThrottleGroupDef' and 'virDomainThrottleFilterDef' * Update _virDomainDef to include virDomainThrottleGroupDef * Update _virDomainDiskDef to include virDomainThrottleFilterDef * Support new resource operations for DOM XML and structs,

[PATCH RFC 00/12] Support throttle block filters

2024-04-09 Thread wucf
From: Chun Feng Wu Hi, I am thinking to leverage "throttle block filter" in QEMU to support more flexible I/O limits(e.g. tiered I/O groups), one sample provided by QEMU doc is: https://github.com/qemu/qemu/blob/master/docs/throttle.txt "For example, let's say that we have three different

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-09 Thread Peter Xu
On Tue, Apr 09, 2024 at 09:32:46AM +0200, Jinpu Wang wrote: > Hi Peter, > > On Mon, Apr 8, 2024 at 6:18 PM Peter Xu wrote: > > > > On Mon, Apr 08, 2024 at 04:07:20PM +0200, Jinpu Wang wrote: > > > Hi Peter, > > > > Jinpu, > > > > Thanks for joining the discussion. > > > > > > > > On Tue, Apr 2,

Re: [PATCH v3 5/5] conf: nodedev: Fill active_config at XML parse time

2024-04-09 Thread Boris Fiuczynski
On 4/9/24 16:56, Cole Robinson wrote: Commit v10.0.0-265-ge67bca23e4 added a `active_config` and `defined_config` to nodedev mdev internal XML handling. `defined_config` can be filled at XML parse time, but `active_config` must be filled in by nodedev driver. This wasn't implemented for the test

Re: [PATCH v3 4/5] test: make nodedevs active by default

2024-04-09 Thread Boris Fiuczynski
On 4/9/24 16:56, Cole Robinson wrote: This was the implied default before nodedevs gained a notion of being inactive, and matches how we handle parsing other objects Signed-off-by: Cole Robinson --- src/test/test_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git

Re: [PATCH v3 3/5] test: Implement virNodeDeviceIsPersistent

2024-04-09 Thread Boris Fiuczynski
Reviewed-by: Boris Fiuczynski On 4/9/24 16:56, Cole Robinson wrote: Signed-off-by: Cole Robinson --- src/test/test_driver.c | 16 1 file changed, 16 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index f9bd6f4e67..41828f86b6 100644 ---

Re: [PATCH v3 2/5] test: Implement virNodeDeviceIsActive

2024-04-09 Thread Boris Fiuczynski
Reviewed-by: Boris Fiuczynski On 4/9/24 16:56, Cole Robinson wrote: Signed-off-by: Cole Robinson --- src/test/test_driver.c | 16 1 file changed, 16 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 852a084bce..f9bd6f4e67 100644 ---

Re: [PATCH v3 1/5] test: Fix `virsh nodedev-list`

2024-04-09 Thread Boris Fiuczynski
Reviewed-by: Boris Fiuczynski On 4/9/24 16:56, Cole Robinson wrote: $ virsh --connect test:///default nodedev-list error: Failed to list node devices error: unsupported flags (0x8000) in function testConnectListAllNodeDevices The test driver handles the nodedev state flags, we just need

Re: [PATCH v3 0/5] test: fix nodedev mdev XML regression

2024-04-09 Thread Boris Fiuczynski
On 4/9/24 17:09, Michal Prívozník wrote: On 4/9/24 16:56, Cole Robinson wrote: The virt-manager test suite is busted with libvirt 10.1.0+ after this commit: commit e67bca23e4fe38a3491749f724b9edf743d0e916 Author: Boris Fiuczynski Date: Thu Feb 22 14:02:01 2024 +0100 nodedev: add an

Re: [PATCH v3 0/5] test: fix nodedev mdev XML regression

2024-04-09 Thread Michal Prívozník
On 4/9/24 16:56, Cole Robinson wrote: > The virt-manager test suite is busted with libvirt 10.1.0+ after > this commit: > > commit e67bca23e4fe38a3491749f724b9edf743d0e916 > Author: Boris Fiuczynski > Date: Thu Feb 22 14:02:01 2024 +0100 > > nodedev: add an active config to mdev > > See

[PATCH v3 5/5] conf: nodedev: Fill active_config at XML parse time

2024-04-09 Thread Cole Robinson
Commit v10.0.0-265-ge67bca23e4 added a `active_config` and `defined_config` to nodedev mdev internal XML handling. `defined_config` can be filled at XML parse time, but `active_config` must be filled in by nodedev driver. This wasn't implemented for the test driver however, which caused

[PATCH v3 3/5] test: Implement virNodeDeviceIsPersistent

2024-04-09 Thread Cole Robinson
Signed-off-by: Cole Robinson --- src/test/test_driver.c | 16 1 file changed, 16 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index f9bd6f4e67..41828f86b6 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -7794,6 +7794,21 @@

[PATCH v3 1/5] test: Fix `virsh nodedev-list`

2024-04-09 Thread Cole Robinson
$ virsh --connect test:///default nodedev-list error: Failed to list node devices error: unsupported flags (0x8000) in function testConnectListAllNodeDevices The test driver handles the nodedev state flags, we just need to allow them Signed-off-by: Cole Robinson --- src/test/test_driver.c

[PATCH v3 4/5] test: make nodedevs active by default

2024-04-09 Thread Cole Robinson
This was the implied default before nodedevs gained a notion of being inactive, and matches how we handle parsing other objects Signed-off-by: Cole Robinson --- src/test/test_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index

[PATCH v3 2/5] test: Implement virNodeDeviceIsActive

2024-04-09 Thread Cole Robinson
Signed-off-by: Cole Robinson --- src/test/test_driver.c | 16 1 file changed, 16 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 852a084bce..f9bd6f4e67 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -7779,6 +7779,21 @@

[PATCH v3 0/5] test: fix nodedev mdev XML regression

2024-04-09 Thread Cole Robinson
The virt-manager test suite is busted with libvirt 10.1.0+ after this commit: commit e67bca23e4fe38a3491749f724b9edf743d0e916 Author: Boris Fiuczynski Date: Thu Feb 22 14:02:01 2024 +0100 nodedev: add an active config to mdev See patch #5 for the full explanation. First 4 patches are

Re: [PATCH] qemusecuritytest: Call real virFileExists in mock

2024-04-09 Thread Jim Fehlig
On 4/9/24 2:41 AM, Michal Privoznik wrote: When I suggested to Jim to call real virFileExists() I forgot to also suggest calling init_syms(). Without it, real_virFileExists pointer might be left unset. And indeed, that's what we were seeing on FreeBSD. This effectively reverts commit

Re: [PATCH] qemusecuritytest: Call real virFileExists in mock

2024-04-09 Thread Jiri Denemark
On Tue, Apr 09, 2024 at 10:41:37 +0200, Michal Privoznik wrote: > When I suggested to Jim to call real virFileExists() I forgot to > also suggest calling init_syms(). Without it, real_virFileExists > pointer might be left unset. And indeed, that's what we were > seeing on FreeBSD. > > This

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-09 Thread Markus Armbruster
Peter Xu writes: > On Mon, Apr 08, 2024 at 04:07:20PM +0200, Jinpu Wang wrote: >> Hi Peter, > > Jinpu, > > Thanks for joining the discussion. > >> >> On Tue, Apr 2, 2024 at 11:24 PM Peter Xu wrote: >> > >> > On Mon, Apr 01, 2024 at 11:26:25PM +0200, Yu Zhang wrote: >> > > Hello Peter und

Re: [PATCH V2] security: Ensure file exists before attempting to restore label

2024-04-09 Thread Michal Prívozník
On 4/8/24 23:10, Jim Fehlig wrote: > On 4/8/24 10:48 AM, Jim Fehlig wrote: >> On 4/8/24 6:18 AM, Michal Prívozník wrote: >>> On 4/2/24 00:14, Jim Fehlig wrote: When performing an install, it's common for tooling such as virt-install to remove the install kernel/initrd once they are

[PATCH] qemusecuritytest: Call real virFileExists in mock

2024-04-09 Thread Michal Privoznik
When I suggested to Jim to call real virFileExists() I forgot to also suggest calling init_syms(). Without it, real_virFileExists pointer might be left unset. And indeed, that's what we were seeing on FreeBSD. This effectively reverts commit 4b5cc57ed35dc24d11673dd3f04bfb8073c0340d.

Re: [RFC PATCH 1/2] node_device_conf: virNodeDeviceGetSCSITargetCaps: fix memory leak

2024-04-09 Thread Marc Hartmayer
On Thu, Mar 28, 2024 at 03:55 PM +0100, Ján Tomko wrote: > On a Wednesday in 2024, Marc Hartmayer wrote: >>Make sure the old value in `scsi_target->wwpn` is free'd before replacing it. >>While at it, simplify the code. >> > > "While at it" usually means it should have been a separate commit, >