
On Wed, Feb 19, 2025 at 22:27:08 +0530, Harikumar Rajkumar wrote:
From: Chun Feng Wu <danielwuwy@163.com>
Introduce throttle filter along with corresponding operations.
* Define new struct 'virDomainThrottleFilterDef' and corresponding destructor * Update _virDomainDiskDef to include virDomainThrottleFilterDef * Support throttle filter "Parse" and "Format" for operations between DOM XML and structs. Note, this commit just contains parse/format of group name for throttle filter in domain_conf.c, there is other commit to handle throttle filter nodename parse/format between throttlefilter and diskPrivateData for statusxml in qemu_domain.c when processing qemuDomainDiskPrivate and qemuDomainDiskPrivate
Signed-off-by: Chun Feng Wu <danielwuwy@163.com>
* Error handling for null throttle group. * Update of code documentation comments. * Apply suggested coding style changes.
Signed-off-by: Harikumar Rajkumar <harirajkumar230@gmail.com> --- src/conf/domain_conf.c | 99 +++++++++++++++++++++++++++++++++++++++++ src/conf/domain_conf.h | 20 +++++++++ src/conf/virconftypes.h | 2 + 3 files changed, 121 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 40f4bf6f49..303aa7d1ae 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3825,6 +3825,16 @@ virDomainThrottleGroupDefArrayFree(virDomainThrottleGroupDef **def, }
+void +virDomainThrottleFilterDefClear(virDomainThrottleFilterDef *def) +{ + if (!def) + return; + g_free(def->group_name); + g_free(def->nodename); +}
This function is registered as the automatic cleanup helper for virDomainThrottleFilterDef thus must also free the whole object, in which case it should be renamed with ...Free suffix.
+ + void virDomainResourceDefFree(virDomainResourceDef *resource) {
[...]
@@ -552,6 +561,9 @@ struct _virDomainDiskDef {
virDomainBlockIoTuneInfo blkdeviotune;
+ size_t nthrottlefilters; + virDomainThrottleFilterDef **throttlefilters;
Corresponding update of virDomainDiskDefFree is missing so the above pointer and each struct in it is leaked.