From nobody Mon Apr 29 14:37:19 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 1522672108244967.6861289465063; Mon, 2 Apr 2018 05:28:28 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DD4057E9CF; Mon, 2 Apr 2018 12:28:26 +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 B536A5D96E; Mon, 2 Apr 2018 12:28:26 +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 673F8180BAD3; Mon, 2 Apr 2018 12:28:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32CRu5a031416 for ; Mon, 2 Apr 2018 08:27:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id A59075D753; Mon, 2 Apr 2018 12:27: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 666365D70B for ; Mon, 2 Apr 2018 12:27:56 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 08:27:49 -0400 Message-Id: <20180402122751.24574-2-jferlan@redhat.com> In-Reply-To: <20180402122751.24574-1-jferlan@redhat.com> References: <20180402122751.24574-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 1/3] test: Use virDomainObjListFindByUUIDRef 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 02 Apr 2018 12:28:27 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Rather than using virDomainObjListFindByUUID, let's be more consistent and return a reffed and locked object. Since we're using the Ref API, use virDomainObjEndAPI on @dom and not just virObjectUnlock. Signed-off-by: John Ferlan Reviewed-by: Marc Hartmayer --- src/test/test_driver.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 99c27cc0a0..0cacab2fde 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1740,16 +1740,14 @@ static virDomainPtr testDomainLookupByUUID(virConne= ctPtr conn, virDomainPtr ret =3D NULL; virDomainObjPtr dom; =20 - if (!(dom =3D virDomainObjListFindByUUID(privconn->domains, uuid))) { + if (!(dom =3D virDomainObjListFindByUUIDRef(privconn->domains, uuid)))= { virReportError(VIR_ERR_NO_DOMAIN, NULL); - goto cleanup; + return NULL; } =20 ret =3D virGetDomain(conn, dom->def->name, dom->def->uuid, dom->def->i= d); =20 - cleanup: - if (dom) - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Mon Apr 29 14:37:19 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 1522672084550305.635855047336; Mon, 2 Apr 2018 05:28:04 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 82A317E9CD; Mon, 2 Apr 2018 12:28:02 +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 67B7560BE3; Mon, 2 Apr 2018 12:28:01 +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 9128D4CA96; Mon, 2 Apr 2018 12:27:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32CRvfx031421 for ; Mon, 2 Apr 2018 08:27:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 163185D70B; Mon, 2 Apr 2018 12:27:57 +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 CB52C5D753 for ; Mon, 2 Apr 2018 12:27:56 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 08:27:50 -0400 Message-Id: <20180402122751.24574-3-jferlan@redhat.com> In-Reply-To: <20180402122751.24574-1-jferlan@redhat.com> References: <20180402122751.24574-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 2/3] test: Use virDomainObjListFindByIDRef 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.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 02 Apr 2018 12:28:03 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Rather than using virDomainObjListFindByID, let's be more consistent and return a reffed and locked object. Since we're using the Ref API, use virDomainObjEndAPI on @dom and not just virObjectUnlock. Signed-off-by: John Ferlan Reviewed-by: Marc Hartmayer --- src/test/test_driver.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 0cacab2fde..3c01aa50e1 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1720,16 +1720,14 @@ static virDomainPtr testDomainLookupByID(virConnect= Ptr conn, virDomainPtr ret =3D NULL; virDomainObjPtr dom; =20 - if (!(dom =3D virDomainObjListFindByID(privconn->domains, id))) { + if (!(dom =3D virDomainObjListFindByIDRef(privconn->domains, id))) { virReportError(VIR_ERR_NO_DOMAIN, NULL); - goto cleanup; + return NULL; } =20 ret =3D virGetDomain(conn, dom->def->name, dom->def->uuid, dom->def->i= d); =20 - cleanup: - if (dom) - virObjectUnlock(dom); + virDomainObjEndAPI(&dom); return ret; } =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Mon Apr 29 14:37:19 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 1522672108753500.7055647198056; Mon, 2 Apr 2018 05:28:28 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EA2A57E9D2; Mon, 2 Apr 2018 12:28:26 +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 BDD0E5C261; Mon, 2 Apr 2018 12:28:26 +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 6B9B6180BAD4; Mon, 2 Apr 2018 12:28:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32CRve7031432 for ; Mon, 2 Apr 2018 08:27:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 795FA5D753; Mon, 2 Apr 2018 12:27:57 +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 3B8185D70B for ; Mon, 2 Apr 2018 12:27:57 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 08:27:51 -0400 Message-Id: <20180402122751.24574-4-jferlan@redhat.com> In-Reply-To: <20180402122751.24574-1-jferlan@redhat.com> References: <20180402122751.24574-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 3/3] test: Need to relock afer virDomainObjListRemove 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 02 Apr 2018 12:28:27 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" For all @dom's fetched from a testDomObjFromDomain because virDomainObjListRemove will return an unlocked domain object we should relock it prior to the cleanup label which will use virDomainObjEndAPI which would Unlock and Unref the passed object (and we should avoid unlocking an unlocked object). Signed-off-by: John Ferlan Reviewed-by: Marc Hartmayer --- src/test/test_driver.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 3c01aa50e1..5e39ae574c 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1802,8 +1802,10 @@ static int testDomainDestroyFlags(virDomainPtr domai= n, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_DESTROYED); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -1901,8 +1903,10 @@ static int testDomainShutdownFlags(virDomainPtr doma= in, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -1971,8 +1975,10 @@ static int testDomainReboot(virDomainPtr domain, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN= ); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } } =20 ret =3D 0; @@ -2110,8 +2116,10 @@ testDomainSaveFlags(virDomainPtr domain, const char = *path, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SAVED); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -2296,8 +2304,10 @@ static int testDomainCoreDumpWithFormat(virDomainPtr= domain, event =3D virDomainEventLifecycleNewFromObj(privdom, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_CRASHED); - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } } =20 ret =3D 0; @@ -3076,10 +3086,12 @@ static int testDomainUndefineFlags(virDomainPtr dom= ain, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); privdom->hasManagedSave =3D false; =20 - if (virDomainObjIsActive(privdom)) + if (virDomainObjIsActive(privdom)) { privdom->persistent =3D 0; - else + } else { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list