[PATCH RFC 09/27] storage: Add gluster pool filter and fix virsh pool listing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Recent adition of the gluster pool type omitted fixing the virsh and
virConnectListAllStoragePool filters. A typecast of the converting
function in virsh showed that also the sheepdog pool was omitted in the
command parser.

This patch adds gluster pool filtering support and fixes virsh to
properly convert all supported storage pool types. The added typecast
should avoid doing such mistakes in the future.
---
 include/libvirt/libvirt.h.in | 1 +
 src/conf/storage_conf.c      | 4 +++-
 tools/virsh-pool.c           | 9 +++++++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index 6f79c49..aa042b4 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -3056,6 +3056,7 @@ typedef enum {
     VIR_CONNECT_LIST_STORAGE_POOLS_MPATH         = 1 << 13,
     VIR_CONNECT_LIST_STORAGE_POOLS_RBD           = 1 << 14,
     VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG      = 1 << 15,
+    VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER       = 1 << 16,
 } virConnectListAllStoragePoolsFlags;

 int                     virConnectListAllStoragePools(virConnectPtr conn,
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 22e38c1..ed492cf 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -2217,7 +2217,9 @@ virStoragePoolMatch(virStoragePoolObjPtr poolobj,
               (MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_RBD) &&
                (poolobj->def->type == VIR_STORAGE_POOL_RBD))     ||
               (MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG) &&
-               (poolobj->def->type == VIR_STORAGE_POOL_SHEEPDOG))))
+               (poolobj->def->type == VIR_STORAGE_POOL_SHEEPDOG)) ||
+              (MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER) &&
+               (poolobj->def->type == VIR_STORAGE_POOL_GLUSTER))))
             return false;
     }

diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index 18fe242..b6753c4 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1006,7 +1006,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
                 return false;
             }

-            switch (poolType) {
+            switch ((enum virStoragePoolType) poolType) {
             case VIR_STORAGE_POOL_DIR:
                 flags |= VIR_CONNECT_LIST_STORAGE_POOLS_DIR;
                 break;
@@ -1034,7 +1034,12 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
             case VIR_STORAGE_POOL_RBD:
                 flags |= VIR_CONNECT_LIST_STORAGE_POOLS_RBD;
                 break;
-            default:
+            case VIR_STORAGE_POOL_SHEEPDOG:
+                flags |= VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG;
+                break;
+            case VIR_STORAGE_POOL_GLUSTER:
+                flags |= VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER;
+            case VIR_STORAGE_POOL_LAST:
                 break;
             }
         }
-- 
1.8.5.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]