[libvirt] [PATCH 08/20] openvz: Use virDomainObjListFindBy{UUID|ID}Ref
Jim Fehlig
jfehlig at suse.com
Thu Mar 29 17:52:31 UTC 2018
On 03/09/2018 09:48 AM, John Ferlan wrote:
> For openvzDomObjFromDomainLocked and openvzDomainLookupByID
> let's return a locked and referenced @vm object so that callers
> can then use the common and more consistent virDomainObjEndAPI
> in order to handle cleanup rather than needing to know that the
> returned object is locked and calling virObjectUnlock.
>
> The LookupByName already returns the ref counted and locked object,
> so this will make things more consistent.
>
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
> src/openvz/openvz_driver.c | 76 ++++++++++++++++------------------------------
> 1 file changed, 26 insertions(+), 50 deletions(-)
Reviewed-by: Jim Fehlig <jfehlig at suse.com>
Regards,
Jim
>
> diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
> index b31bf0714..b0b72b171 100644
> --- a/src/openvz/openvz_driver.c
> +++ b/src/openvz/openvz_driver.c
> @@ -95,7 +95,7 @@ openvzDomObjFromDomainLocked(struct openvz_driver *driver,
> virDomainObjPtr vm;
> char uuidstr[VIR_UUID_STRING_BUFLEN];
>
> - if (!(vm = virDomainObjListFindByUUID(driver->domains, uuid))) {
> + if (!(vm = virDomainObjListFindByUUIDRef(driver->domains, uuid))) {
> virUUIDFormat(uuid, uuidstr);
>
> virReportError(VIR_ERR_NO_DOMAIN,
> @@ -329,8 +329,7 @@ openvzDomainGetHostname(virDomainPtr dom, unsigned int flags)
> }
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return hostname;
>
> error:
> @@ -347,7 +346,7 @@ static virDomainPtr openvzDomainLookupByID(virConnectPtr conn,
> virDomainPtr dom = NULL;
>
> openvzDriverLock(driver);
> - vm = virDomainObjListFindByID(driver->domains, id);
> + vm = virDomainObjListFindByIDRef(driver->domains, id);
> openvzDriverUnlock(driver);
>
> if (!vm) {
> @@ -359,8 +358,7 @@ static virDomainPtr openvzDomainLookupByID(virConnectPtr conn,
> dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return dom;
> }
>
> @@ -391,8 +389,7 @@ static char *openvzDomainGetOSType(virDomainPtr dom)
>
> ignore_value(VIR_STRDUP(ret, virDomainOSTypeToString(vm->def->os.type)));
>
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -409,8 +406,7 @@ static virDomainPtr openvzDomainLookupByUUID(virConnectPtr conn,
>
> dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
>
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return dom;
> }
>
> @@ -469,8 +465,7 @@ static int openvzDomainGetInfo(virDomainPtr dom,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -492,8 +487,7 @@ openvzDomainGetState(virDomainPtr dom,
>
> ret = openvzGetVEStatus(vm, state, reason);
>
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -509,8 +503,7 @@ static int openvzDomainIsActive(virDomainPtr dom)
>
> ret = virDomainObjIsActive(obj);
>
> - if (obj)
> - virObjectUnlock(obj);
> + virDomainObjEndAPI(&obj);
> return ret;
> }
>
> @@ -526,8 +519,7 @@ static int openvzDomainIsPersistent(virDomainPtr dom)
>
> ret = obj->persistent;
>
> - if (obj)
> - virObjectUnlock(obj);
> + virDomainObjEndAPI(&obj);
> return ret;
> }
>
> @@ -549,8 +541,7 @@ static char *openvzDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
> ret = virDomainDefFormat(vm->def, driver->caps,
> virDomainDefFormatConvertXMLFlags(flags));
>
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -600,8 +591,7 @@ static int openvzDomainSuspend(virDomainPtr dom)
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -631,8 +621,7 @@ static int openvzDomainResume(virDomainPtr dom)
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -670,8 +659,7 @@ openvzDomainShutdownFlags(virDomainPtr dom,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -724,8 +712,7 @@ static int openvzDomainReboot(virDomainPtr dom,
> virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, VIR_DOMAIN_RUNNING_BOOTED);
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -1183,8 +1170,7 @@ openvzDomainUndefineFlags(virDomainPtr dom,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> openvzDriverUnlock(driver);
> return ret;
> }
> @@ -1213,8 +1199,7 @@ openvzDomainSetAutostart(virDomainPtr dom, int autostart)
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -1243,8 +1228,7 @@ openvzDomainGetAutostart(virDomainPtr dom, int *autostart)
> cleanup:
> VIR_FREE(value);
>
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -1336,8 +1320,7 @@ static int openvzDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -1934,8 +1917,7 @@ openvzDomainInterfaceStats(virDomainPtr dom,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -2029,8 +2011,7 @@ openvzDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
> cleanup:
> openvzDriverUnlock(driver);
> virDomainDeviceDefFree(dev);
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -2166,8 +2147,7 @@ openvzDomainMigrateBegin3Params(virDomainPtr domain,
> VIR_DOMAIN_DEF_FORMAT_SECURE);
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return xml;
> }
>
> @@ -2269,8 +2249,7 @@ openvzDomainMigratePrepare3Params(virConnectPtr dconn,
> done:
> VIR_FREE(my_hostname);
> virURIFree(uri);
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -2323,8 +2302,7 @@ openvzDomainMigratePerform3Params(virDomainPtr domain,
> cleanup:
> virCommandFree(cmd);
> virURIFree(uri);
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -2431,8 +2409,7 @@ openvzDomainMigrateConfirm3Params(virDomainPtr domain,
> ret = 0;
>
> cleanup:
> - if (vm)
> - virObjectUnlock(vm);
> + virDomainObjEndAPI(&vm);
> return ret;
> }
>
> @@ -2450,8 +2427,7 @@ openvzDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
>
> ret = 0;
>
> - if (obj)
> - virObjectUnlock(obj);
> + virDomainObjEndAPI(&obj);
> return ret;
> }
>
>
More information about the libvir-list
mailing list