From nobody Mon Feb 9 08:28:03 2026 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 1523536890281161.41218634199345; Thu, 12 Apr 2018 05:41:30 -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 332C93136323; Thu, 12 Apr 2018 12:41:28 +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 BBA7F78DD5; Thu, 12 Apr 2018 12:41:27 +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 5EC21180215E; Thu, 12 Apr 2018 12:41:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3CCfNF9013413 for ; Thu, 12 Apr 2018 08:41:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id 32CB678DD5; Thu, 12 Apr 2018 12:41:23 +0000 (UTC) Received: from mx1.redhat.com (ext-mx10.extmail.prod.ext.phx2.redhat.com [10.5.110.39]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2A4E87E02B for ; Thu, 12 Apr 2018 12:41:18 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5CF045D676 for ; Thu, 12 Apr 2018 12:41:16 +0000 (UTC) Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3CCdiHm089477 for ; Thu, 12 Apr 2018 08:41:15 -0400 Received: from e06smtp11.uk.ibm.com (e06smtp11.uk.ibm.com [195.75.94.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ha5x3cywr-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Thu, 12 Apr 2018 08:41:15 -0400 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 12 Apr 2018 13:41:13 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (9.149.109.197) by e06smtp11.uk.ibm.com (192.168.101.141) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 12 Apr 2018 13:41:11 +0100 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3CCfBBB53608450 for ; Thu, 12 Apr 2018 12:41:11 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D71742045 for ; Thu, 12 Apr 2018 13:32:51 +0100 (BST) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 734674203F for ; Thu, 12 Apr 2018 13:32:51 +0100 (BST) Received: from marc-ibm.boeblingen.de.ibm.com (unknown [9.152.224.71]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP for ; Thu, 12 Apr 2018 13:32:51 +0100 (BST) From: Marc Hartmayer To: Date: Thu, 12 Apr 2018 14:40:57 +0200 In-Reply-To: <20180412124104.10547-1-mhartmay@linux.vnet.ibm.com> References: <20180412124104.10547-1-mhartmay@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041212-0040-0000-0000-0000044CBE8D X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041212-0041-0000-0000-000020F0F259 Message-Id: <20180412124104.10547-3-mhartmay@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-12_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804120127 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 12 Apr 2018 12:41:16 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 12 Apr 2018 12:41:16 +0000 (UTC) for IP:'148.163.158.5' DOMAIN:'mx0b-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'mhartmay@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.699 (KHOP_DYNAMIC, RCVD_IN_DNSWL_LOW) 148.163.158.5 mx0b-001b2d01.pphosted.com 148.163.158.5 mx0b-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.39 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH libvirt v2 2/9] test: Convert testDriver to virObjectLockable 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.45]); Thu, 12 Apr 2018 12:41:29 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The test driver state (@testDriver) uses it's own reference counting and locking implementation. Instead of doing that, convert @testDriver into a virObjectLockable and use the provided functionalities. Signed-off-by: Marc Hartmayer Reviewed-by: Boris Fiuczynski Reviewed-by: John Ferlan --- src/test/test_driver.c | 200 ++++++++++++++++++++++-----------------------= ---- 1 file changed, 90 insertions(+), 110 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 856869c9d3a9..1a219316e7c5 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -94,7 +94,7 @@ typedef struct _testAuth testAuth; typedef struct _testAuth *testAuthPtr; =20 struct _testDriver { - virMutex lock; + virObjectLockable parent; =20 virNodeInfo nodeInfo; virInterfaceObjListPtr ifaces; @@ -126,9 +126,22 @@ typedef struct _testDriver testDriver; typedef testDriver *testDriverPtr; =20 static testDriverPtr defaultPrivconn; -static int defaultConnections; static virMutex defaultLock =3D VIR_MUTEX_INITIALIZER; =20 +static virClassPtr testDriverClass; +static void testDriverDispose(void *obj); +static int testDriverOnceInit(void) +{ + if (!(testDriverClass =3D virClassNew(virClassForObjectLockable(), + "testDriver", + sizeof(testDriver), + testDriverDispose))) + return -1; + + return 0; +} +VIR_ONCE_GLOBAL_INIT(testDriver) + #define TEST_MODEL "i686" #define TEST_EMULATOR "/usr/bin/test-hv" =20 @@ -144,10 +157,9 @@ static const virNodeInfo defaultNodeInfo =3D { }; =20 static void -testDriverFree(testDriverPtr driver) +testDriverDispose(void *obj) { - if (!driver) - return; + testDriverPtr driver =3D obj; =20 virObjectUnref(driver->caps); virObjectUnref(driver->xmlopt); @@ -157,23 +169,9 @@ testDriverFree(testDriverPtr driver) virObjectUnref(driver->ifaces); virObjectUnref(driver->pools); virObjectUnref(driver->eventState); - virMutexUnlock(&driver->lock); - virMutexDestroy(&driver->lock); - - VIR_FREE(driver); } =20 =20 -static void testDriverLock(testDriverPtr driver) -{ - virMutexLock(&driver->lock); -} - -static void testDriverUnlock(testDriverPtr driver) -{ - virMutexUnlock(&driver->lock); -} - static void testObjectEventQueue(testDriverPtr driver, virObjectEventPtr event) { @@ -405,14 +403,11 @@ testDriverNew(void) }; testDriverPtr ret; =20 - if (VIR_ALLOC(ret) < 0) + if (testDriverInitialize() < 0) return NULL; =20 - if (virMutexInit(&ret->lock) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - "%s", _("cannot initialize mutex")); - goto error; - } + if (!(ret =3D virObjectLockableNew(testDriverClass))) + return NULL; =20 if (!(ret->xmlopt =3D virDomainXMLOptionNew(NULL, NULL, &ns, NULL, NUL= L)) || !(ret->eventState =3D virObjectEventStateNew()) || @@ -428,7 +423,7 @@ testDriverNew(void) return ret; =20 error: - testDriverFree(ret); + virObjectUnref(ret); return NULL; } =20 @@ -1262,7 +1257,7 @@ testOpenFromFile(virConnectPtr conn, const char *file) if (!(privconn =3D testDriverNew())) return VIR_DRV_OPEN_ERROR; =20 - testDriverLock(privconn); + virObjectLock(privconn); conn->privateData =3D privconn; =20 if (!(privconn->caps =3D testBuildCapabilities(conn))) @@ -1279,14 +1274,14 @@ testOpenFromFile(virConnectPtr conn, const char *fi= le) =20 xmlXPathFreeContext(ctxt); xmlFreeDoc(doc); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return VIR_DRV_OPEN_SUCCESS; =20 error: xmlXPathFreeContext(ctxt); xmlFreeDoc(doc); - testDriverFree(privconn); + virObjectUnref(privconn); conn->privateData =3D NULL; return VIR_DRV_OPEN_ERROR; } @@ -1304,8 +1299,8 @@ testOpenDefault(virConnectPtr conn) size_t i; =20 virMutexLock(&defaultLock); - if (defaultConnections++) { - conn->privateData =3D defaultPrivconn; + if (defaultPrivconn) { + conn->privateData =3D virObjectRef(defaultPrivconn); virMutexUnlock(&defaultLock); return VIR_DRV_OPEN_SUCCESS; } @@ -1354,9 +1349,8 @@ testOpenDefault(virConnectPtr conn) return ret; =20 error: - testDriverFree(privconn); + virObjectUnref(privconn); conn->privateData =3D NULL; - defaultConnections--; goto cleanup; } =20 @@ -1369,9 +1363,9 @@ testConnectAuthenticate(virConnectPtr conn, ssize_t i; char *username =3D NULL, *password =3D NULL; =20 - testDriverLock(privconn); + virObjectLock(privconn); if (privconn->numAuths =3D=3D 0) { - testDriverUnlock(privconn); + virObjectUnlock(privconn); return 0; } =20 @@ -1413,7 +1407,7 @@ testConnectAuthenticate(virConnectPtr conn, =20 ret =3D 0; cleanup: - testDriverUnlock(privconn); + virObjectUnlock(privconn); VIR_FREE(username); VIR_FREE(password); return ret; @@ -1423,24 +1417,11 @@ testConnectAuthenticate(virConnectPtr conn, static void testDriverCloseInternal(testDriverPtr driver) { - bool dflt =3D false; - - if (driver =3D=3D defaultPrivconn) { - dflt =3D true; - virMutexLock(&defaultLock); - if (--defaultConnections) { - virMutexUnlock(&defaultLock); - return; - } - } - - testDriverLock(driver); - testDriverFree(driver); - - if (dflt) { + virMutexLock(&defaultLock); + bool disposed =3D !virObjectUnref(driver); + if (disposed && driver =3D=3D defaultPrivconn) defaultPrivconn =3D NULL; - virMutexUnlock(&defaultLock); - } + virMutexUnlock(&defaultLock); } =20 =20 @@ -1571,9 +1552,9 @@ static int testNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info) { testDriverPtr privconn =3D conn->privateData; - testDriverLock(privconn); + virObjectLock(privconn); memcpy(info, &privconn->nodeInfo, sizeof(virNodeInfo)); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return 0; } =20 @@ -1581,9 +1562,9 @@ static char *testConnectGetCapabilities(virConnectPtr= conn) { testDriverPtr privconn =3D conn->privateData; char *xml; - testDriverLock(privconn); + virObjectLock(privconn); xml =3D virCapabilitiesFormatXML(privconn->caps); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return xml; } =20 @@ -1618,9 +1599,9 @@ static int testConnectNumOfDomains(virConnectPtr conn) testDriverPtr privconn =3D conn->privateData; int count; =20 - testDriverLock(privconn); + virObjectLock(privconn); count =3D virDomainObjListNumOfDomains(privconn->domains, true, NULL, = NULL); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return count; } @@ -1673,7 +1654,7 @@ testDomainCreateXML(virConnectPtr conn, const char *x= ml, if (flags & VIR_DOMAIN_START_VALIDATE) parse_flags |=3D VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA; =20 - testDriverLock(privconn); + virObjectLock(privconn); if ((def =3D virDomainDefParseString(xml, privconn->caps, privconn->xm= lopt, NULL, parse_flags)) =3D=3D NULL) goto cleanup; @@ -1708,7 +1689,7 @@ testDomainCreateXML(virConnectPtr conn, const char *x= ml, virObjectUnlock(dom); testObjectEventQueue(privconn, event); virDomainDefFree(def); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -2891,7 +2872,7 @@ static int testNodeGetCellsFreeMemory(virConnectPtr c= onn, size_t i; int ret =3D -1; =20 - testDriverLock(privconn); + virObjectLock(privconn); if (startCell >=3D privconn->numCells) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("Range exceeds available cells")); @@ -2906,7 +2887,7 @@ static int testNodeGetCellsFreeMemory(virConnectPtr c= onn, ret =3D i; =20 cleanup: - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -2964,12 +2945,12 @@ testNodeGetFreeMemory(virConnectPtr conn) unsigned int freeMem =3D 0; size_t i; =20 - testDriverLock(privconn); + virObjectLock(privconn); =20 for (i =3D 0; i < privconn->numCells; i++) freeMem +=3D privconn->cells[i].freeMem; =20 - testDriverUnlock(privconn); + virObjectUnlock(privconn); return freeMem; } =20 @@ -3006,7 +2987,7 @@ static int testDomainCreateWithFlags(virDomainPtr dom= ain, unsigned int flags) =20 virCheckFlags(0, -1); =20 - testDriverLock(privconn); + virObjectLock(privconn); =20 if (!(privdom =3D testDomObjFromDomain(domain))) goto cleanup; @@ -3030,7 +3011,7 @@ static int testDomainCreateWithFlags(virDomainPtr dom= ain, unsigned int flags) cleanup: virDomainObjEndAPI(&privdom); testObjectEventQueue(privconn, event); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -3803,9 +3784,9 @@ testInterfaceObjFindByName(testDriverPtr privconn, { virInterfaceObjPtr obj; =20 - testDriverLock(privconn); + virObjectLock(privconn); obj =3D virInterfaceObjListFindByName(privconn->ifaces, name); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (!obj) virReportError(VIR_ERR_NO_INTERFACE, @@ -3822,9 +3803,9 @@ testConnectNumOfInterfaces(virConnectPtr conn) testDriverPtr privconn =3D conn->privateData; int ninterfaces; =20 - testDriverLock(privconn); + virObjectLock(privconn); ninterfaces =3D virInterfaceObjListNumOfInterfaces(privconn->ifaces, t= rue); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ninterfaces; } =20 @@ -3837,10 +3818,10 @@ testConnectListInterfaces(virConnectPtr conn, testDriverPtr privconn =3D conn->privateData; int nnames; =20 - testDriverLock(privconn); + virObjectLock(privconn); nnames =3D virInterfaceObjListGetNames(privconn->ifaces, true, names, maxnames); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return nnames; } @@ -3852,9 +3833,9 @@ testConnectNumOfDefinedInterfaces(virConnectPtr conn) testDriverPtr privconn =3D conn->privateData; int ninterfaces; =20 - testDriverLock(privconn); + virObjectLock(privconn); ninterfaces =3D virInterfaceObjListNumOfInterfaces(privconn->ifaces, f= alse); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ninterfaces; } =20 @@ -3867,10 +3848,10 @@ testConnectListDefinedInterfaces(virConnectPtr conn, testDriverPtr privconn =3D conn->privateData; int nnames; =20 - testDriverLock(privconn); + virObjectLock(privconn); nnames =3D virInterfaceObjListGetNames(privconn->ifaces, false, names, maxnames); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return nnames; } @@ -3905,10 +3886,10 @@ testInterfaceLookupByMACString(virConnectPtr conn, char *ifacenames[] =3D { NULL, NULL }; virInterfacePtr ret =3D NULL; =20 - testDriverLock(privconn); + virObjectLock(privconn); ifacect =3D virInterfaceObjListFindByMACString(privconn->ifaces, mac, ifacenames, 2); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (ifacect =3D=3D 0) { virReportError(VIR_ERR_NO_INTERFACE, @@ -3956,7 +3937,7 @@ testInterfaceChangeBegin(virConnectPtr conn, =20 virCheckFlags(0, -1); =20 - testDriverLock(privconn); + virObjectLock(privconn); if (privconn->transaction_running) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("there is another transaction running.")); @@ -3970,7 +3951,7 @@ testInterfaceChangeBegin(virConnectPtr conn, =20 ret =3D 0; cleanup: - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -3984,7 +3965,7 @@ testInterfaceChangeCommit(virConnectPtr conn, =20 virCheckFlags(0, -1); =20 - testDriverLock(privconn); + virObjectLock(privconn); =20 if (!privconn->transaction_running) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", @@ -3999,7 +3980,7 @@ testInterfaceChangeCommit(virConnectPtr conn, ret =3D 0; =20 cleanup: - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return ret; } @@ -4014,7 +3995,7 @@ testInterfaceChangeRollback(virConnectPtr conn, =20 virCheckFlags(0, -1); =20 - testDriverLock(privconn); + virObjectLock(privconn); =20 if (!privconn->transaction_running) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", @@ -4032,7 +4013,7 @@ testInterfaceChangeRollback(virConnectPtr conn, ret =3D 0; =20 cleanup: - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -4072,7 +4053,7 @@ testInterfaceDefineXML(virConnectPtr conn, =20 virCheckFlags(0, NULL); =20 - testDriverLock(privconn); + virObjectLock(privconn); if ((def =3D virInterfaceDefParseString(xmlStr)) =3D=3D NULL) goto cleanup; =20 @@ -4086,7 +4067,7 @@ testInterfaceDefineXML(virConnectPtr conn, cleanup: virInterfaceDefFree(def); virInterfaceObjEndAPI(&obj); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return ret; } =20 @@ -4190,9 +4171,9 @@ testStoragePoolObjFindByName(testDriverPtr privconn, { virStoragePoolObjPtr obj; =20 - testDriverLock(privconn); + virObjectLock(privconn); obj =3D virStoragePoolObjFindByName(privconn->pools, name); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (!obj) virReportError(VIR_ERR_NO_STORAGE_POOL, @@ -4250,9 +4231,9 @@ testStoragePoolObjFindByUUID(testDriverPtr privconn, virStoragePoolObjPtr obj; char uuidstr[VIR_UUID_STRING_BUFLEN]; =20 - testDriverLock(privconn); + virObjectLock(privconn); obj =3D virStoragePoolObjFindByUUID(privconn->pools, uuid); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (!obj) { virUUIDFormat(uuid, uuidstr); @@ -4318,10 +4299,10 @@ testConnectNumOfStoragePools(virConnectPtr conn) testDriverPtr privconn =3D conn->privateData; int numActive =3D 0; =20 - testDriverLock(privconn); + virObjectLock(privconn); numActive =3D virStoragePoolObjNumOfStoragePools(privconn->pools, conn, true, NULL); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return numActive; } @@ -4335,10 +4316,10 @@ testConnectListStoragePools(virConnectPtr conn, testDriverPtr privconn =3D conn->privateData; int n =3D 0; =20 - testDriverLock(privconn); + virObjectLock(privconn); n =3D virStoragePoolObjGetNames(privconn->pools, conn, true, NULL, names, maxnames); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return n; } @@ -4350,10 +4331,10 @@ testConnectNumOfDefinedStoragePools(virConnectPtr c= onn) testDriverPtr privconn =3D conn->privateData; int numInactive =3D 0; =20 - testDriverLock(privconn); + virObjectLock(privconn); numInactive =3D virStoragePoolObjNumOfStoragePools(privconn->pools, co= nn, false, NULL); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return numInactive; } @@ -4367,10 +4348,10 @@ testConnectListDefinedStoragePools(virConnectPtr co= nn, testDriverPtr privconn =3D conn->privateData; int n =3D 0; =20 - testDriverLock(privconn); + virObjectLock(privconn); n =3D virStoragePoolObjGetNames(privconn->pools, conn, false, NULL, names, maxnames); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return n; } @@ -4386,10 +4367,10 @@ testConnectListAllStoragePools(virConnectPtr conn, =20 virCheckFlags(VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_ALL, -1); =20 - testDriverLock(privconn); + virObjectLock(privconn); ret =3D virStoragePoolObjListExport(conn, privconn->pools, pools, NULL, flags); - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 return ret; } @@ -4551,7 +4532,7 @@ testStoragePoolCreateXML(virConnectPtr conn, =20 virCheckFlags(0, NULL); =20 - testDriverLock(privconn); + virObjectLock(privconn); if (!(newDef =3D virStoragePoolDefParseString(xml))) goto cleanup; =20 @@ -4602,7 +4583,7 @@ testStoragePoolCreateXML(virConnectPtr conn, virStoragePoolDefFree(newDef); testObjectEventQueue(privconn, event); virStoragePoolObjEndAPI(&obj); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return pool; } =20 @@ -4621,7 +4602,7 @@ testStoragePoolDefineXML(virConnectPtr conn, =20 virCheckFlags(0, NULL); =20 - testDriverLock(privconn); + virObjectLock(privconn); if (!(newDef =3D virStoragePoolDefParseString(xml))) goto cleanup; =20 @@ -4654,7 +4635,7 @@ testStoragePoolDefineXML(virConnectPtr conn, virStoragePoolDefFree(newDef); testObjectEventQueue(privconn, event); virStoragePoolObjEndAPI(&obj); - testDriverUnlock(privconn); + virObjectUnlock(privconn); return pool; } =20 @@ -5055,7 +5036,7 @@ testStorageVolLookupByKey(virConnectPtr conn, .key =3D key, .voldef =3D NULL }; virStorageVolPtr vol =3D NULL; =20 - testDriverLock(privconn); + virObjectLock(privconn); if ((obj =3D virStoragePoolObjListSearch(privconn->pools, testStorageVolLookupByKeyCallba= ck, &data)) && data.voldef) { @@ -5065,7 +5046,7 @@ testStorageVolLookupByKey(virConnectPtr conn, NULL, NULL); virStoragePoolObjEndAPI(&obj); } - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (!vol) virReportError(VIR_ERR_NO_STORAGE_VOL, @@ -5099,7 +5080,7 @@ testStorageVolLookupByPath(virConnectPtr conn, .path =3D path, .voldef =3D NULL }; virStorageVolPtr vol =3D NULL; =20 - testDriverLock(privconn); + virObjectLock(privconn); if ((obj =3D virStoragePoolObjListSearch(privconn->pools, testStorageVolLookupByPathCallb= ack, &data)) && data.voldef) { @@ -5109,7 +5090,7 @@ testStorageVolLookupByPath(virConnectPtr conn, NULL, NULL); virStoragePoolObjEndAPI(&obj); } - testDriverUnlock(privconn); + virObjectUnlock(privconn); =20 if (!vol) virReportError(VIR_ERR_NO_STORAGE_VOL, @@ -6859,7 +6840,6 @@ testDomainRevertToSnapshot(virDomainSnapshotPtr snaps= hot, } =20 =20 - static virHypervisorDriver testHypervisorDriver =3D { .name =3D "Test", .connectOpen =3D testConnectOpen, /* 0.1.1 */ --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list