[PATCH] remote_driver: Restore special behavior of remoteDomainGetBlockIoTune()

Michal Privoznik posted 1 patch 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/1f6313619e69d1f67458b5078550e5d9ef00e2a6.1706520076.git.mprivozn@redhat.com
src/remote/remote_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] remote_driver: Restore special behavior of remoteDomainGetBlockIoTune()
Posted by Michal Privoznik 4 weeks ago
In v9.10.0-rc1~103 the remote driver was switched to g_auto() for
client RPC return parameters. But whilst doing so a small bug
slipped in: previously, when virDomainGetBlockIoTune() was called
with *nparams == 0, the function set *nparams to the number of
supported params and zero was returned (so that client can
allocate memory and call the API second time). IOW - the usual,
old style of APIs where we didn't want to allocate memory on
caller's behalf. But because of this bug, a negative one is
returned instead.

Fixes: 501825011c1fe80f458820c7efe5a198e0af9be5
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 src/remote/remote_driver.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 392377deae..bedf2cb833 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -2570,7 +2570,7 @@ static int remoteDomainGetBlockIoTune(virDomainPtr domain,
      */
     if (*nparams == 0) {
         *nparams = ret.nparams;
-        return -1;
+        return 0;
     }
 
     if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) ret.params.params_val,
-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH] remote_driver: Restore special behavior of remoteDomainGetBlockIoTune()
Posted by Ján Tomko 3 weeks, 6 days ago
On a Monday in 2024, Michal Privoznik wrote:
>In v9.10.0-rc1~103 the remote driver was switched to g_auto() for
>client RPC return parameters. But whilst doing so a small bug
>slipped in: previously, when virDomainGetBlockIoTune() was called
>with *nparams == 0, the function set *nparams to the number of
>supported params and zero was returned (so that client can
>allocate memory and call the API second time). IOW - the usual,
>old style of APIs where we didn't want to allocate memory on
>caller's behalf. But because of this bug, a negative one is
>returned instead.
>
>Fixes: 501825011c1fe80f458820c7efe5a198e0af9be5
>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>---
> src/remote/remote_driver.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

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

Jano
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org