src/storage/storage_driver.c: Implement listAllStoragePools.
---
src/storage/storage_driver.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index c9b8021..0974879 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -42,6 +42,7 @@
#include "util.h"
#include "storage_driver.h"
#include "storage_conf.h"
+#include "virobjectlist.h"
#include "memory.h"
#include "storage_backend.h"
#include "logging.h"
@@ -2287,6 +2288,23 @@ cleanup:
return ret;
}
+static int
+storageListAllPools(virConnectPtr conn,
+ virStoragePoolPtr **pools,
+ unsigned int flags)
+{
+ virStorageDriverStatePtr driver = conn->storagePrivateData;
+ int ret = -1;
+
+ virCheckFlags(VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_ALL, -1);
+
+ storageDriverLock(driver);
+ ret = virStoragePoolList(conn, driver->pools, pools, flags);
+ storageDriverUnlock(driver);
+
+ return ret;
+}
+
static virStorageDriver storageDriver = {
.name = "storage",
.open = storageOpen, /* 0.4.0 */
@@ -2295,6 +2313,7 @@ static virStorageDriver storageDriver = {
.listPools = storageListPools, /* 0.4.0 */
.numOfDefinedPools = storageNumDefinedPools, /* 0.4.0 */
.listDefinedPools = storageListDefinedPools, /* 0.4.0 */
+ .listAllPools = storageListAllPools, /* 0.9.14 */
.findPoolSources = storageFindPoolSources, /* 0.4.0 */
.poolLookupByName = storagePoolLookupByName, /* 0.4.0 */
.poolLookupByUUID = storagePoolLookupByUUID, /* 0.4.0 */
--
1.7.7.3