]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
list: Implement listAllStoragePools for storage driver
authorOsier Yang <jyang@redhat.com>
Tue, 4 Sep 2012 15:16:27 +0000 (23:16 +0800)
committerOsier Yang <jyang@redhat.com>
Thu, 6 Sep 2012 14:03:20 +0000 (22:03 +0800)
src/storage/storage_driver.c: Implement listAllStoragePools.

src/storage/storage_driver.c

index 3dc66db027ecbdf21bd66ba809a9b0572c7780bc..67cefc770a61386677a6847eb744c6f9eb306c5c 100644 (file)
@@ -2285,6 +2285,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 */
@@ -2293,6 +2310,7 @@ static virStorageDriver storageDriver = {
     .listPools = storageListPools, /* 0.4.0 */
     .numOfDefinedPools = storageNumDefinedPools, /* 0.4.0 */
     .listDefinedPools = storageListDefinedPools, /* 0.4.0 */
+    .listAllPools = storageListAllPools, /* 0.10.2 */
     .findPoolSources = storageFindPoolSources, /* 0.4.0 */
     .poolLookupByName = storagePoolLookupByName, /* 0.4.0 */
     .poolLookupByUUID = storagePoolLookupByUUID, /* 0.4.0 */