From: John Ferlan Date: Thu, 7 Feb 2019 17:03:08 +0000 (-0500) Subject: storage: Introduce storageConnectGetStoragePoolCapabilities X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d9bf6cef3253d6f887d7b8f659d129ca2cffd911;p=libvirt.git storage: Introduce storageConnectGetStoragePoolCapabilities https://bugzilla.redhat.com/show_bug.cgi?id=1581670 Create the storage driver code to generate the output for the storage pool capabilities XML. Signed-off-by: John Ferlan ACKed-by: Michal Privoznik --- diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index caa255dd3d..62acb3eb71 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -35,6 +35,7 @@ #include "datatypes.h" #include "driver.h" #include "storage_driver.h" +#include "storage_capabilities.h" #include "storage_conf.h" #include "storage_event.h" #include "viralloc.h" @@ -638,6 +639,28 @@ storageConnectFindStoragePoolSources(virConnectPtr conn, } +static char * +storageConnectGetStoragePoolCapabilities(virConnectPtr conn, + unsigned int flags) +{ + virStoragePoolCapsPtr caps = NULL; + char *ret; + + virCheckFlags(0, NULL); + + if (virConnectGetStoragePoolCapabilitiesEnsureACL(conn) < 0) + return NULL; + + if (!(caps = virStoragePoolCapsNew(driver->caps))) + return NULL; + + ret = virStoragePoolCapsFormat(caps); + + virObjectUnref(caps); + return ret; +} + + static int storagePoolIsActive(virStoragePoolPtr pool) { @@ -2776,6 +2799,7 @@ static virStorageDriver storageDriver = { .connectStoragePoolEventRegisterAny = storageConnectStoragePoolEventRegisterAny, /* 2.0.0 */ .connectStoragePoolEventDeregisterAny = storageConnectStoragePoolEventDeregisterAny, /* 2.0.0 */ .connectFindStoragePoolSources = storageConnectFindStoragePoolSources, /* 0.4.0 */ + .connectGetStoragePoolCapabilities = storageConnectGetStoragePoolCapabilities, /* 5.2.0 */ .storagePoolLookupByName = storagePoolLookupByName, /* 0.4.0 */ .storagePoolLookupByUUID = storagePoolLookupByUUID, /* 0.4.0 */ .storagePoolLookupByVolume = storagePoolLookupByVolume, /* 0.4.0 */