From nobody Wed May 14 21:42:25 2025 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 1516973845194762.6365021060269; Fri, 26 Jan 2018 05:37:25 -0800 (PST) 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 E09D3A1030; Fri, 26 Jan 2018 13:37:23 +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 AFC9060F9D; Fri, 26 Jan 2018 13:37:23 +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 766CF18033DC; Fri, 26 Jan 2018 13:37:23 +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 w0QDZijp025150 for ; Fri, 26 Jan 2018 08:35:44 -0500 Received: by smtp.corp.redhat.com (Postfix) id AE9B275A0F; Fri, 26 Jan 2018 13:35:44 +0000 (UTC) Received: from t460.redhat.com (unknown [10.33.36.55]) by smtp.corp.redhat.com (Postfix) with ESMTP id E99125C7C6; Fri, 26 Jan 2018 13:35:43 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Fri, 26 Jan 2018 13:35:28 +0000 Message-Id: <20180126133537.31883-2-berrange@redhat.com> In-Reply-To: <20180126133537.31883-1-berrange@redhat.com> References: <20180126133537.31883-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 01/10] storage: move driver registration back to end of the file 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: , Content-Type: text/plain; charset="utf-8" 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.27]); Fri, 26 Jan 2018 13:37:24 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 By convention the last thing in the driver.c files should be the driver callback table and function to register it. Signed-off-by: Daniel P. Berrang=C3=A9 --- src/storage/storage_driver.c | 172 +++++++++++++++++++++------------------= ---- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 3b66d51719..f68acc75be 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -2687,92 +2687,6 @@ storageConnectStoragePoolEventDeregisterAny(virConne= ctPtr conn, } =20 =20 - -static virStorageDriver storageDriver =3D { - .name =3D "storage", - .connectNumOfStoragePools =3D storageConnectNumOfStoragePools, /* 0.4.= 0 */ - .connectListStoragePools =3D storageConnectListStoragePools, /* 0.4.0 = */ - .connectNumOfDefinedStoragePools =3D storageConnectNumOfDefinedStorage= Pools, /* 0.4.0 */ - .connectListDefinedStoragePools =3D storageConnectListDefinedStoragePo= ols, /* 0.4.0 */ - .connectListAllStoragePools =3D storageConnectListAllStoragePools, /* = 0.10.2 */ - .connectStoragePoolEventRegisterAny =3D storageConnectStoragePoolEvent= RegisterAny, /* 2.0.0 */ - .connectStoragePoolEventDeregisterAny =3D storageConnectStoragePoolEve= ntDeregisterAny, /* 2.0.0 */ - .connectFindStoragePoolSources =3D storageConnectFindStoragePoolSource= s, /* 0.4.0 */ - .storagePoolLookupByName =3D storagePoolLookupByName, /* 0.4.0 */ - .storagePoolLookupByUUID =3D storagePoolLookupByUUID, /* 0.4.0 */ - .storagePoolLookupByVolume =3D storagePoolLookupByVolume, /* 0.4.0 */ - .storagePoolCreateXML =3D storagePoolCreateXML, /* 0.4.0 */ - .storagePoolDefineXML =3D storagePoolDefineXML, /* 0.4.0 */ - .storagePoolBuild =3D storagePoolBuild, /* 0.4.0 */ - .storagePoolUndefine =3D storagePoolUndefine, /* 0.4.0 */ - .storagePoolCreate =3D storagePoolCreate, /* 0.4.0 */ - .storagePoolDestroy =3D storagePoolDestroy, /* 0.4.0 */ - .storagePoolDelete =3D storagePoolDelete, /* 0.4.0 */ - .storagePoolRefresh =3D storagePoolRefresh, /* 0.4.0 */ - .storagePoolGetInfo =3D storagePoolGetInfo, /* 0.4.0 */ - .storagePoolGetXMLDesc =3D storagePoolGetXMLDesc, /* 0.4.0 */ - .storagePoolGetAutostart =3D storagePoolGetAutostart, /* 0.4.0 */ - .storagePoolSetAutostart =3D storagePoolSetAutostart, /* 0.4.0 */ - .storagePoolNumOfVolumes =3D storagePoolNumOfVolumes, /* 0.4.0 */ - .storagePoolListVolumes =3D storagePoolListVolumes, /* 0.4.0 */ - .storagePoolListAllVolumes =3D storagePoolListAllVolumes, /* 0.10.2 */ - - .storageVolLookupByName =3D storageVolLookupByName, /* 0.4.0 */ - .storageVolLookupByKey =3D storageVolLookupByKey, /* 0.4.0 */ - .storageVolLookupByPath =3D storageVolLookupByPath, /* 0.4.0 */ - .storageVolCreateXML =3D storageVolCreateXML, /* 0.4.0 */ - .storageVolCreateXMLFrom =3D storageVolCreateXMLFrom, /* 0.6.4 */ - .storageVolDownload =3D storageVolDownload, /* 0.9.0 */ - .storageVolUpload =3D storageVolUpload, /* 0.9.0 */ - .storageVolDelete =3D storageVolDelete, /* 0.4.0 */ - .storageVolWipe =3D storageVolWipe, /* 0.8.0 */ - .storageVolWipePattern =3D storageVolWipePattern, /* 0.9.10 */ - .storageVolGetInfo =3D storageVolGetInfo, /* 0.4.0 */ - .storageVolGetInfoFlags =3D storageVolGetInfoFlags, /* 3.0.0 */ - .storageVolGetXMLDesc =3D storageVolGetXMLDesc, /* 0.4.0 */ - .storageVolGetPath =3D storageVolGetPath, /* 0.4.0 */ - .storageVolResize =3D storageVolResize, /* 0.9.10 */ - - .storagePoolIsActive =3D storagePoolIsActive, /* 0.7.3 */ - .storagePoolIsPersistent =3D storagePoolIsPersistent, /* 0.7.3 */ -}; - - -static virStateDriver stateDriver =3D { - .name =3D "storage", - .stateInitialize =3D storageStateInitialize, - .stateAutoStart =3D storageStateAutoStart, - .stateCleanup =3D storageStateCleanup, - .stateReload =3D storageStateReload, -}; - -static int -storageRegisterFull(bool allbackends) -{ - if (virStorageBackendDriversRegister(allbackends) < 0) - return -1; - if (virSetSharedStorageDriver(&storageDriver) < 0) - return -1; - if (virRegisterStateDriver(&stateDriver) < 0) - return -1; - return 0; -} - - -int -storageRegister(void) -{ - return storageRegisterFull(false); -} - - -int -storageRegisterAll(void) -{ - return storageRegisterFull(true); -} - - static int virStorageAddISCSIPoolSourceHost(virDomainDiskDefPtr def, virStoragePoolDefPtr pooldef) @@ -3065,3 +2979,89 @@ virStoragePoolObjBuildTempFilePath(virStoragePoolObj= Ptr obj, driver->stateDir, def->name, voldef->name)); return tmp; } + + +static virStorageDriver storageDriver =3D { + .name =3D "storage", + .connectNumOfStoragePools =3D storageConnectNumOfStoragePools, /* 0.4.= 0 */ + .connectListStoragePools =3D storageConnectListStoragePools, /* 0.4.0 = */ + .connectNumOfDefinedStoragePools =3D storageConnectNumOfDefinedStorage= Pools, /* 0.4.0 */ + .connectListDefinedStoragePools =3D storageConnectListDefinedStoragePo= ols, /* 0.4.0 */ + .connectListAllStoragePools =3D storageConnectListAllStoragePools, /* = 0.10.2 */ + .connectStoragePoolEventRegisterAny =3D storageConnectStoragePoolEvent= RegisterAny, /* 2.0.0 */ + .connectStoragePoolEventDeregisterAny =3D storageConnectStoragePoolEve= ntDeregisterAny, /* 2.0.0 */ + .connectFindStoragePoolSources =3D storageConnectFindStoragePoolSource= s, /* 0.4.0 */ + .storagePoolLookupByName =3D storagePoolLookupByName, /* 0.4.0 */ + .storagePoolLookupByUUID =3D storagePoolLookupByUUID, /* 0.4.0 */ + .storagePoolLookupByVolume =3D storagePoolLookupByVolume, /* 0.4.0 */ + .storagePoolCreateXML =3D storagePoolCreateXML, /* 0.4.0 */ + .storagePoolDefineXML =3D storagePoolDefineXML, /* 0.4.0 */ + .storagePoolBuild =3D storagePoolBuild, /* 0.4.0 */ + .storagePoolUndefine =3D storagePoolUndefine, /* 0.4.0 */ + .storagePoolCreate =3D storagePoolCreate, /* 0.4.0 */ + .storagePoolDestroy =3D storagePoolDestroy, /* 0.4.0 */ + .storagePoolDelete =3D storagePoolDelete, /* 0.4.0 */ + .storagePoolRefresh =3D storagePoolRefresh, /* 0.4.0 */ + .storagePoolGetInfo =3D storagePoolGetInfo, /* 0.4.0 */ + .storagePoolGetXMLDesc =3D storagePoolGetXMLDesc, /* 0.4.0 */ + .storagePoolGetAutostart =3D storagePoolGetAutostart, /* 0.4.0 */ + .storagePoolSetAutostart =3D storagePoolSetAutostart, /* 0.4.0 */ + .storagePoolNumOfVolumes =3D storagePoolNumOfVolumes, /* 0.4.0 */ + .storagePoolListVolumes =3D storagePoolListVolumes, /* 0.4.0 */ + .storagePoolListAllVolumes =3D storagePoolListAllVolumes, /* 0.10.2 */ + + .storageVolLookupByName =3D storageVolLookupByName, /* 0.4.0 */ + .storageVolLookupByKey =3D storageVolLookupByKey, /* 0.4.0 */ + .storageVolLookupByPath =3D storageVolLookupByPath, /* 0.4.0 */ + .storageVolCreateXML =3D storageVolCreateXML, /* 0.4.0 */ + .storageVolCreateXMLFrom =3D storageVolCreateXMLFrom, /* 0.6.4 */ + .storageVolDownload =3D storageVolDownload, /* 0.9.0 */ + .storageVolUpload =3D storageVolUpload, /* 0.9.0 */ + .storageVolDelete =3D storageVolDelete, /* 0.4.0 */ + .storageVolWipe =3D storageVolWipe, /* 0.8.0 */ + .storageVolWipePattern =3D storageVolWipePattern, /* 0.9.10 */ + .storageVolGetInfo =3D storageVolGetInfo, /* 0.4.0 */ + .storageVolGetInfoFlags =3D storageVolGetInfoFlags, /* 3.0.0 */ + .storageVolGetXMLDesc =3D storageVolGetXMLDesc, /* 0.4.0 */ + .storageVolGetPath =3D storageVolGetPath, /* 0.4.0 */ + .storageVolResize =3D storageVolResize, /* 0.9.10 */ + + .storagePoolIsActive =3D storagePoolIsActive, /* 0.7.3 */ + .storagePoolIsPersistent =3D storagePoolIsPersistent, /* 0.7.3 */ +}; + + +static virStateDriver stateDriver =3D { + .name =3D "storage", + .stateInitialize =3D storageStateInitialize, + .stateAutoStart =3D storageStateAutoStart, + .stateCleanup =3D storageStateCleanup, + .stateReload =3D storageStateReload, +}; + + +static int +storageRegisterFull(bool allbackends) +{ + if (virStorageBackendDriversRegister(allbackends) < 0) + return -1; + if (virSetSharedStorageDriver(&storageDriver) < 0) + return -1; + if (virRegisterStateDriver(&stateDriver) < 0) + return -1; + return 0; +} + + +int +storageRegister(void) +{ + return storageRegisterFull(false); +} + + +int +storageRegisterAll(void) +{ + return storageRegisterFull(true); +} --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list