[libvirt] [PATCH 6/9] vz: expand setting memory API calls
Maxim Nestratov
mnestratov at virtuozzo.com
Wed Aug 17 21:01:59 UTC 2016
24-Jun-16 17:32, Nikolay Shirokovskiy пишет:
> We need it to prepare the calls for ACL checks otherwise ACL checking
> script will fail.
>
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
> ---
> src/vz/vz_driver.c | 85 ++++++++++++++++++++++++++++++++----------------------
> 1 file changed, 50 insertions(+), 35 deletions(-)
>
> diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
> index 9c93db1..12abe82 100644
> --- a/src/vz/vz_driver.c
> +++ b/src/vz/vz_driver.c
> @@ -1850,48 +1850,63 @@ vzConnectUnregisterCloseCallback(virConnectPtr conn, virConnectCloseFunc cb)
> return ret;
> }
>
> -static int vzDomainSetMemoryFlagsImpl(virDomainPtr domain, unsigned long memory,
> - unsigned int flags, bool useflags)
> -{
> - virDomainObjPtr dom = NULL;
> - int ret = -1;
> - bool job = false;
> -
> - virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
> - VIR_DOMAIN_AFFECT_CONFIG, -1);
> -
> - if (!(dom = vzDomObjFromDomainRef(domain)))
> - return -1;
> -
> - if (useflags && vzCheckConfigUpdateFlags(dom, &flags) < 0)
> - goto cleanup;
> -
> - if (vzDomainObjBeginJob(dom) < 0)
> - goto cleanup;
> - job = true;
> -
> - if (!vzDomainObjIsExist(dom))
> - goto cleanup;
> -
> - ret = prlsdkSetMemsize(dom, memory >> 10);
> -
> - cleanup:
> -
> - if (job)
> - vzDomainObjEndJob(dom);
> - virDomainObjEndAPI(&dom);
> - return ret;
> -}
> -
> static int vzDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory,
> unsigned int flags)
> {
> - return vzDomainSetMemoryFlagsImpl(domain, memory, flags, true);
> + virDomainObjPtr dom = NULL;
> + int ret = -1;
> + bool job = false;
> +
> + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
> + VIR_DOMAIN_AFFECT_CONFIG, -1);
> +
> + if (!(dom = vzDomObjFromDomainRef(domain)))
> + return -1;
> +
> + if (vzCheckConfigUpdateFlags(dom, &flags) < 0)
> + goto cleanup;
> +
> + if (vzDomainObjBeginJob(dom) < 0)
> + goto cleanup;
> + job = true;
> +
> + if (!vzDomainObjIsExist(dom))
> + goto cleanup;
> +
Now it's vzEnsureDomainExists
> + ret = prlsdkSetMemsize(dom, memory >> 10);
> +
> + cleanup:
> +
> + if (job)
> + vzDomainObjEndJob(dom);
> + virDomainObjEndAPI(&dom);
> + return ret;
> }
>
> static int vzDomainSetMemory(virDomainPtr domain, unsigned long memory)
> {
> - return vzDomainSetMemoryFlagsImpl(domain, memory, 0, false);
> + virDomainObjPtr dom = NULL;
> + int ret = -1;
> + bool job = false;
> +
> + if (!(dom = vzDomObjFromDomainRef(domain)))
> + return -1;
> +
> + if (vzDomainObjBeginJob(dom) < 0)
> + goto cleanup;
> + job = true;
> +
> + if (!vzDomainObjIsExist(dom))
> + goto cleanup;
> +
same
> + ret = prlsdkSetMemsize(dom, memory >> 10);
> +
> + cleanup:
> +
> + if (job)
> + vzDomainObjEndJob(dom);
> + virDomainObjEndAPI(&dom);
> + return ret;
> }
>
> static virDomainSnapshotObjPtr
Otherwise ACK
More information about the libvir-list
mailing list