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 <jferlan(a)redhat.com>
---
src/storage/storage_driver.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index f2bc24370d..acdc31f76c 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"
@@ -652,6 +653,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)
{
@@ -2790,6 +2813,7 @@ static virStorageDriver storageDriver = {
.connectStoragePoolEventRegisterAny = storageConnectStoragePoolEventRegisterAny, /*
2.0.0 */
.connectStoragePoolEventDeregisterAny = storageConnectStoragePoolEventDeregisterAny,
/* 2.0.0 */
.connectFindStoragePoolSources = storageConnectFindStoragePoolSources, /* 0.4.0 */
+ .connectGetStoragePoolCapabilities = storageConnectGetStoragePoolCapabilities, /*
5.1.0 */
.storagePoolLookupByName = storagePoolLookupByName, /* 0.4.0 */
.storagePoolLookupByUUID = storagePoolLookupByUUID, /* 0.4.0 */
.storagePoolLookupByVolume = storagePoolLookupByVolume, /* 0.4.0 */
--
2.20.1