From nobody Tue Apr 30 06:11:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 15226753379770.07015768503708841; Mon, 2 Apr 2018 06:22:17 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8DA34C0587CE; Mon, 2 Apr 2018 13:22:16 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4CCEA5D6B4; Mon, 2 Apr 2018 13:22:16 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 15FE54CAA0; Mon, 2 Apr 2018 13:22:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32DLt5G011828 for ; Mon, 2 Apr 2018 09:21:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id CCC326046B; Mon, 2 Apr 2018 13:21:55 +0000 (UTC) Received: from unknown54ee7586bd10.attlocal.net.com (ovpn-116-52.phx2.redhat.com [10.3.116.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7CAAB600C8 for ; Mon, 2 Apr 2018 13:21:55 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 09:21:48 -0400 Message-Id: <20180402132149.14529-2-jferlan@redhat.com> In-Reply-To: <20180402132149.14529-1-jferlan@redhat.com> References: <20180402132149.14529-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [REPOST PATCH 1/2] vz: Unify vzDomObjFromDomain{Ref} X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 02 Apr 2018 13:22:17 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Rather than have two API's doing different things for different callers, let's make one API that will always return a locked and ref counted object. That way, the callers will always know that they must call virDomainObjEndAPI and not have to decide whether they should call virObjectUnlock instead. This will make things consistent with LookupByName which returns the locked and ref counted object. Signed-off-by: John Ferlan Reviewed-by: Nikolay Shirokovskiy --- src/vz/vz_driver.c | 111 ++++++++++++++++++++++++++-----------------------= ---- src/vz/vz_utils.c | 32 +-------------- src/vz/vz_utils.h | 1 - 3 files changed, 56 insertions(+), 88 deletions(-) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index a425bc8552..bcbccf6cc8 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -654,7 +654,7 @@ vzDomainGetInfo(virDomainPtr domain, virDomainInfoPtr i= nfo) vzDomObjPtr privdom; int ret =3D -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) goto cleanup; =20 if (virDomainGetInfoEnsureACL(domain->conn, dom->def) < 0) @@ -703,7 +703,7 @@ vzDomainGetOSType(virDomainPtr domain) ignore_value(VIR_STRDUP(ret, virDomainOSTypeToString(dom->def->os.type= ))); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -722,7 +722,7 @@ vzDomainIsPersistent(virDomainPtr domain) ret =3D 1; =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -745,7 +745,7 @@ vzDomainGetState(virDomainPtr domain, ret =3D 0; =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -771,7 +771,7 @@ vzDomainGetXMLDesc(virDomainPtr domain, unsigned int fl= ags) ret =3D virDomainDefFormat(def, privconn->driver->caps, flags); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -791,7 +791,7 @@ vzDomainGetAutostart(virDomainPtr domain, int *autostar= t) ret =3D 0; =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -985,7 +985,7 @@ vzDomainGetVcpus(virDomainPtr domain, size_t i; int ret =3D -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainGetVcpusEnsureACL(domain->conn, dom->def) < 0) @@ -1087,7 +1087,7 @@ vzDomainSuspend(virDomainPtr domain) int ret =3D -1; bool job =3D false; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainSuspendEnsureACL(domain->conn, dom->def) < 0) @@ -1124,7 +1124,7 @@ vzDomainResume(virDomainPtr domain) int ret =3D -1; bool job =3D false; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainResumeEnsureACL(domain->conn, dom->def) < 0) @@ -1163,7 +1163,7 @@ vzDomainCreateWithFlags(virDomainPtr domain, unsigned= int flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainCreateWithFlagsEnsureACL(domain->conn, dom->def) < 0) @@ -1202,7 +1202,7 @@ vzDomainDestroyFlags(virDomainPtr domain, unsigned in= t flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainDestroyFlagsEnsureACL(domain->conn, dom->def) < 0) @@ -1247,7 +1247,7 @@ vzDomainShutdownFlags(virDomainPtr domain, unsigned i= nt flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainShutdownFlagsEnsureACL(domain->conn, dom->def, flags) < 0) @@ -1291,7 +1291,7 @@ vzDomainReboot(virDomainPtr domain, unsigned int flag= s) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainRebootEnsureACL(domain->conn, dom->def, flags) < 0) @@ -1334,7 +1334,7 @@ static int vzDomainIsActive(virDomainPtr domain) ret =3D virDomainObjIsActive(dom); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); =20 return ret; } @@ -1357,7 +1357,7 @@ vzDomainUndefineFlags(virDomainPtr domain, virCheckFlags(VIR_DOMAIN_UNDEFINE_MANAGED_SAVE | VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainUndefineFlagsEnsureACL(domain->conn, dom->def) < 0) @@ -1409,7 +1409,7 @@ vzDomainHasManagedSaveImage(virDomainPtr domain, unsi= gned int flags) ret =3D 0; =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); =20 return ret; } @@ -1426,7 +1426,7 @@ vzDomainManagedSave(virDomainPtr domain, unsigned int= flags) virCheckFlags(VIR_DOMAIN_SAVE_RUNNING | VIR_DOMAIN_SAVE_PAUSED, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainManagedSaveEnsureACL(domain->conn, dom->def) < 0) @@ -1469,7 +1469,7 @@ vzDomainManagedSaveRemove(virDomainPtr domain, unsign= ed int flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainManagedSaveRemoveEnsureACL(domain->conn, dom->def) < 0) @@ -1522,7 +1522,7 @@ static int vzDomainAttachDeviceFlags(virDomainPtr dom= ain, const char *xml, virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (vzCheckConfigUpdateFlags(dom, &flags) < 0) @@ -1577,7 +1577,7 @@ static int vzDomainDetachDeviceFlags(virDomainPtr dom= ain, const char *xml, virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - dom =3D vzDomObjFromDomainRef(domain); + dom =3D vzDomObjFromDomain(domain); if (dom =3D=3D NULL) return -1; =20 @@ -1634,7 +1634,7 @@ vzDomainSetUserPassword(virDomainPtr domain, bool job =3D false; =20 virCheckFlags(0, -1); - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainSetUserPasswordEnsureACL(domain->conn, dom->def) < 0) @@ -1670,7 +1670,7 @@ static int vzDomainUpdateDeviceFlags(virDomainPtr dom= ain, virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainUpdateDeviceFlagsEnsureACL(domain->conn, dom->def, flags)= < 0) @@ -1723,7 +1723,7 @@ vzDomainGetMaxMemory(virDomainPtr domain) ret =3D virDomainDefGetMemoryTotal(dom->def); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -1784,7 +1784,7 @@ vzDomainBlockStats(virDomainPtr domain, virDomainObjPtr dom; int ret =3D -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainBlockStatsEnsureACL(domain->conn, dom->def) < 0) @@ -1851,7 +1851,7 @@ vzDomainBlockStatsFlags(virDomainPtr domain, /* We don't return strings, and thus trivially support this flag. */ flags &=3D ~VIR_TYPED_PARAM_STRING_OKAY; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainBlockStatsFlagsEnsureACL(domain->conn, dom->def) < 0) @@ -1880,7 +1880,7 @@ vzDomainInterfaceStats(virDomainPtr domain, vzDomObjPtr privdom; int ret =3D -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainInterfaceStatsEnsureACL(domain->conn, dom->def) < 0) @@ -1907,7 +1907,7 @@ vzDomainMemoryStats(virDomainPtr domain, int ret =3D -1; =20 virCheckFlags(0, -1); - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainMemoryStatsEnsureACL(domain->conn, dom->def) < 0) @@ -1946,7 +1946,7 @@ vzDomainGetVcpusFlags(virDomainPtr domain, ret =3D virDomainDefGetVcpus(dom->def); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); =20 return ret; } @@ -1973,7 +1973,7 @@ static int vzDomainIsUpdated(virDomainPtr domain) ret =3D 0; =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -2110,7 +2110,7 @@ static int vzDomainSetMemoryFlags(virDomainPtr domain= , unsigned long memory, virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (vzCheckConfigUpdateFlags(dom, &flags) < 0) @@ -2142,7 +2142,7 @@ static int vzDomainSetMemory(virDomainPtr domain, uns= igned long memory) int ret =3D -1; bool job =3D false; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainSetMemoryEnsureACL(domain->conn, dom->def) < 0) @@ -2217,7 +2217,7 @@ vzDomainSnapshotNum(virDomainPtr domain, unsigned int= flags) virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_ROOTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainSnapshotNumEnsureACL(domain->conn, dom->def) < 0) @@ -2248,7 +2248,7 @@ vzDomainSnapshotListNames(virDomainPtr domain, virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_ROOTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainSnapshotListNamesEnsureACL(domain->conn, dom->def) < 0) @@ -2278,7 +2278,7 @@ vzDomainListAllSnapshots(virDomainPtr domain, virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_ROOTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainListAllSnapshotsEnsureACL(domain->conn, dom->def) < 0) @@ -2308,7 +2308,7 @@ vzDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snaps= hot, unsigned int flags) =20 virCheckFlags(VIR_DOMAIN_XML_SECURE, NULL); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return NULL; =20 if (virDomainSnapshotGetXMLDescEnsureACL(snapshot->domain->conn, dom->= def, flags) < 0) @@ -2345,7 +2345,7 @@ vzDomainSnapshotNumChildren(virDomainSnapshotPtr snap= shot, unsigned int flags) virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_DESCENDANTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotNumChildrenEnsureACL(snapshot->domain->conn, dom-= >def) < 0) @@ -2380,7 +2380,7 @@ vzDomainSnapshotListChildrenNames(virDomainSnapshotPt= r snapshot, virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_DESCENDANTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotListChildrenNamesEnsureACL(snapshot->domain->conn= , dom->def) < 0) @@ -2414,7 +2414,7 @@ vzDomainSnapshotListAllChildren(virDomainSnapshotPtr = snapshot, virCheckFlags(VIR_DOMAIN_SNAPSHOT_LIST_DESCENDANTS | VIR_DOMAIN_SNAPSHOT_FILTERS_ALL, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotListAllChildrenEnsureACL(snapshot->domain->conn, = dom->def) < 0) @@ -2447,7 +2447,7 @@ vzDomainSnapshotLookupByName(virDomainPtr domain, =20 virCheckFlags(0, NULL); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return NULL; =20 if (virDomainSnapshotLookupByNameEnsureACL(domain->conn, dom->def) < 0) @@ -2477,7 +2477,7 @@ vzDomainHasCurrentSnapshot(virDomainPtr domain, unsig= ned int flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainHasCurrentSnapshotEnsureACL(domain->conn, dom->def) < 0) @@ -2505,7 +2505,7 @@ vzDomainSnapshotGetParent(virDomainSnapshotPtr snapsh= ot, unsigned int flags) =20 virCheckFlags(0, NULL); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return NULL; =20 if (virDomainSnapshotGetParentEnsureACL(snapshot->domain->conn, dom->d= ef) < 0) @@ -2543,7 +2543,7 @@ vzDomainSnapshotCurrent(virDomainPtr domain, unsigned= int flags) =20 virCheckFlags(0, NULL); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return NULL; =20 if (virDomainSnapshotCurrentEnsureACL(domain->conn, dom->def) < 0) @@ -2577,7 +2577,7 @@ vzDomainSnapshotIsCurrent(virDomainSnapshotPtr snapsh= ot, unsigned int flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotIsCurrentEnsureACL(snapshot->domain->conn, dom->d= ef) < 0) @@ -2607,7 +2607,7 @@ vzDomainSnapshotHasMetadata(virDomainSnapshotPtr snap= shot, =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotHasMetadataEnsureACL(snapshot->domain->conn, dom-= >def) < 0) @@ -2645,7 +2645,7 @@ vzDomainSnapshotCreateXML(virDomainPtr domain, =20 virCheckFlags(0, NULL); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return NULL; =20 if (virDomainSnapshotCreateXMLEnsureACL(domain->conn, dom->def, flags)= < 0) @@ -2708,7 +2708,7 @@ vzDomainSnapshotDelete(virDomainSnapshotPtr snapshot,= unsigned int flags) =20 virCheckFlags(VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainSnapshotDeleteEnsureACL(snapshot->domain->conn, dom->def)= < 0) @@ -2732,7 +2732,7 @@ vzDomainRevertToSnapshot(virDomainSnapshotPtr snapsho= t, unsigned int flags) =20 virCheckFlags(VIR_DOMAIN_SNAPSHOT_REVERT_PAUSED, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(snapshot->domain))) + if (!(dom =3D vzDomObjFromDomain(snapshot->domain))) return -1; =20 if (virDomainRevertToSnapshotEnsureACL(snapshot->domain->conn, dom->de= f) < 0) @@ -2978,8 +2978,7 @@ vzDomainMigrateBegin3Params(virDomainPtr domain, =20 cleanup: =20 - if (dom) - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return xml; } =20 @@ -3322,7 +3321,7 @@ vzDomainMigratePerform3Params(virDomainPtr domain, if (virTypedParamsValidate(params, nparams, VZ_MIGRATION_PARAMETERS) <= 0) return -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainMigratePerform3ParamsEnsureACL(domain->conn, dom->def) < = 0) @@ -3445,7 +3444,7 @@ vzDomainGetJobInfo(virDomainPtr domain, virDomainJobI= nfoPtr info) ret =3D vzDomainGetJobInfoImpl(dom, info); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -3517,7 +3516,7 @@ vzDomainGetJobStats(virDomainPtr domain, ret =3D vzDomainJobInfoToParams(&info, type, params, nparams); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); =20 return ret; } @@ -3896,7 +3895,7 @@ vzDomainAbortJob(virDomainPtr domain) virDomainObjPtr dom; int ret =3D -1; =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainAbortJobEnsureACL(domain->conn, dom->def) < 0) @@ -3919,7 +3918,7 @@ vzDomainReset(virDomainPtr domain, unsigned int flags) =20 virCheckFlags(0, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) return -1; =20 if (virDomainResetEnsureACL(domain->conn, dom->def) < 0) @@ -3951,7 +3950,7 @@ static int vzDomainSetVcpusFlags(virDomainPtr domain,= unsigned int nvcpus, virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) goto cleanup; =20 if (vzCheckConfigUpdateFlags(dom, &flags) < 0) @@ -3994,7 +3993,7 @@ vzDomainBlockResize(virDomainPtr domain, =20 virCheckFlags(VIR_DOMAIN_BLOCK_RESIZE_BYTES, -1); =20 - if (!(dom =3D vzDomObjFromDomainRef(domain))) + if (!(dom =3D vzDomObjFromDomain(domain))) goto cleanup; =20 if (virDomainBlockResizeEnsureACL(domain->conn, dom->def) < 0) diff --git a/src/vz/vz_utils.c b/src/vz/vz_utils.c index 6fb27169a3..8f4e3e3474 100644 --- a/src/vz/vz_utils.c +++ b/src/vz/vz_utils.c @@ -63,43 +63,13 @@ static virDomainControllerType vz7ControllerTypes[] =3D= {VIR_DOMAIN_CONTROLLER_TYP * @domain: Domain pointer that has to be looked up * * This function looks up @domain and returns the appropriate virDomainObj= Ptr - * that has to be unlocked by virObjectUnlock(). - * - * Returns the domain object without incremented reference counter which i= s locked - * on success, NULL otherwise. - */ -virDomainObjPtr -vzDomObjFromDomain(virDomainPtr domain) -{ - virDomainObjPtr vm; - vzConnPtr privconn =3D domain->conn->privateData; - char uuidstr[VIR_UUID_STRING_BUFLEN]; - vzDriverPtr driver =3D privconn->driver; - - vm =3D virDomainObjListFindByUUID(driver->domains, domain->uuid); - if (!vm) { - virUUIDFormat(domain->uuid, uuidstr); - virReportError(VIR_ERR_NO_DOMAIN, - _("no domain with matching uuid '%s' (%s)"), - uuidstr, domain->name); - return NULL; - } - - return vm; -} - -/** - * vzDomObjFromDomainRef: - * @domain: Domain pointer that has to be looked up - * - * This function looks up @domain and returns the appropriate virDomainObj= Ptr * that has to be released by calling virDomainObjEndAPI(). * * Returns the domain object with incremented reference counter which is l= ocked * on success, NULL otherwise. */ virDomainObjPtr -vzDomObjFromDomainRef(virDomainPtr domain) +vzDomObjFromDomain(virDomainPtr domain) { virDomainObjPtr vm; vzConnPtr privconn =3D domain->conn->privateData; diff --git a/src/vz/vz_utils.h b/src/vz/vz_utils.h index f9e9dee42a..40a1ce23dd 100644 --- a/src/vz/vz_utils.h +++ b/src/vz/vz_utils.h @@ -120,7 +120,6 @@ void* vzDomObjAlloc(void *opaque); void vzDomObjFree(void *p); =20 virDomainObjPtr vzDomObjFromDomain(virDomainPtr domain); -virDomainObjPtr vzDomObjFromDomainRef(virDomainPtr domain); =20 char * vzGetOutput(const char *binary, ...) ATTRIBUTE_NONNULL(1) ATTRIBUTE_SENTINEL; --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue Apr 30 06:11:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1522675341916382.3407097187667; Mon, 2 Apr 2018 06:22:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5FCA92F30C3; Mon, 2 Apr 2018 13:22:20 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 29BE35F7F3; Mon, 2 Apr 2018 13:22:20 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id BCD6F1800CA0; Mon, 2 Apr 2018 13:22:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32DLutE011834 for ; Mon, 2 Apr 2018 09:21:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3C0BD6046B; Mon, 2 Apr 2018 13:21:56 +0000 (UTC) Received: from unknown54ee7586bd10.attlocal.net.com (ovpn-116-52.phx2.redhat.com [10.3.116.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id F410D600C8 for ; Mon, 2 Apr 2018 13:21:55 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 09:21:49 -0400 Message-Id: <20180402132149.14529-3-jferlan@redhat.com> In-Reply-To: <20180402132149.14529-1-jferlan@redhat.com> References: <20180402132149.14529-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [REPOST PATCH 2/2] vz: Use virDomainObjListFindBy{UUID|ID}Ref X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 02 Apr 2018 13:22:20 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" For vzDomainLookupByID and vzDomainLookupByUUID 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. Also adjust the prlsdkHandle{VmState|VmRemoved|Perf}Event APIs in the same manner. Signed-off-by: John Ferlan Reviewed-by: Nikolay Shirokovskiy --- src/vz/vz_driver.c | 8 ++++---- src/vz/vz_sdk.c | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index bcbccf6cc8..736424897a 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -578,7 +578,7 @@ vzDomainLookupByID(virConnectPtr conn, int id) virDomainPtr ret =3D NULL; virDomainObjPtr dom; =20 - dom =3D virDomainObjListFindByID(privconn->driver->domains, id); + dom =3D virDomainObjListFindByIDRef(privconn->driver->domains, id); =20 if (dom =3D=3D NULL) { virReportError(VIR_ERR_NO_DOMAIN, NULL); @@ -591,7 +591,7 @@ vzDomainLookupByID(virConnectPtr conn, int id) ret =3D virGetDomain(conn, dom->def->name, dom->def->uuid, dom->def->i= d); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 @@ -602,7 +602,7 @@ vzDomainLookupByUUID(virConnectPtr conn, const unsigned= char *uuid) virDomainPtr ret =3D NULL; virDomainObjPtr dom; =20 - dom =3D virDomainObjListFindByUUID(privconn->driver->domains, uuid); + dom =3D virDomainObjListFindByUUIDRef(privconn->driver->domains, uuid); =20 if (dom =3D=3D NULL) { char uuidstr[VIR_UUID_STRING_BUFLEN]; @@ -618,7 +618,7 @@ vzDomainLookupByUUID(virConnectPtr conn, const unsigned= char *uuid) ret =3D virGetDomain(conn, dom->def->name, dom->def->uuid, dom->def->i= d); =20 cleanup: - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index a5b9f2da67..b8f13f88a7 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -2144,7 +2144,7 @@ prlsdkHandleVmStateEvent(vzDriverPtr driver, virDomainEventType lvEventType =3D 0; int lvEventTypeDetails =3D 0; =20 - dom =3D virDomainObjListFindByUUID(driver->domains, uuid); + dom =3D virDomainObjListFindByUUIDRef(driver->domains, uuid); if (dom =3D=3D NULL) return; =20 @@ -2166,7 +2166,7 @@ prlsdkHandleVmStateEvent(vzDriverPtr driver, =20 cleanup: PrlHandle_Free(eventParam); - virObjectUnlock(dom); + virObjectEndAPI(&dom); return; } =20 @@ -2225,7 +2225,7 @@ prlsdkHandleVmRemovedEvent(vzDriverPtr driver, { virDomainObjPtr dom =3D NULL; =20 - dom =3D virDomainObjListFindByUUID(driver->domains, uuid); + dom =3D virDomainObjListFindByUUIDRef(driver->domains, uuid); /* domain was removed from the list from the libvirt * API function in current connection */ if (dom =3D=3D NULL) @@ -2235,6 +2235,7 @@ prlsdkHandleVmRemovedEvent(vzDriverPtr driver, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); =20 virDomainObjListRemove(driver->domains, dom); + virDomainObjEndAPI(&dom); return; } =20 @@ -2246,7 +2247,7 @@ prlsdkHandlePerfEvent(vzDriverPtr driver, virDomainObjPtr dom =3D NULL; vzDomObjPtr privdom =3D NULL; =20 - if (!(dom =3D virDomainObjListFindByUUID(driver->domains, uuid))) { + if (!(dom =3D virDomainObjListFindByUUIDRef(driver->domains, uuid))) { PrlHandle_Free(event); return; } @@ -2255,7 +2256,7 @@ prlsdkHandlePerfEvent(vzDriverPtr driver, PrlHandle_Free(privdom->stats); privdom->stats =3D event; =20 - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); } =20 static void @@ -2269,7 +2270,7 @@ prlsdkHandleMigrationProgress(vzDriverPtr driver, PRL_HANDLE param =3D PRL_INVALID_HANDLE; PRL_RESULT pret; =20 - if (!(dom =3D virDomainObjListFindByUUID(driver->domains, uuid))) + if (!(dom =3D virDomainObjListFindByUUIDRef(driver->domains, uuid))) return; =20 pret =3D PrlEvent_GetParam(event, 0, ¶m); @@ -2283,7 +2284,7 @@ prlsdkHandleMigrationProgress(vzDriverPtr driver, =20 cleanup: PrlHandle_Free(param); - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); } =20 static PRL_RESULT --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list