]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: util: Pass pool type to virStorageBackendFindGlusterPoolSources
authorPeter Krempa <pkrempa@redhat.com>
Thu, 30 Mar 2017 13:08:06 +0000 (15:08 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 4 Apr 2017 14:30:45 +0000 (16:30 +0200)
The native gluster pool source list data differs from the data used for
attaching gluster volumes as netfs pools. Currently the only difference
was the format. Since native pools don't use it and later there will be
more differences add a more deterministic way to switch between the
types instead.

src/storage/storage_backend_fs.c
src/storage/storage_backend_gluster.c
src/storage/storage_util.c
src/storage/storage_util.h

index 1fc127a8c1a303514f5b55a34dadaa60156d0901..bf1d7de43c1e3bc7eda823c51c77809864edc376 100644 (file)
@@ -186,7 +186,7 @@ virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSE
     retNFS = virStorageBackendFileSystemNetFindNFSPoolSources(&state);
 
     retGluster = virStorageBackendFindGlusterPoolSources(state.host,
-                                                         VIR_STORAGE_POOL_NETFS_GLUSTERFS,
+                                                         VIR_STORAGE_POOL_NETFS,
                                                          &state.list, false);
 
     if (retGluster < 0)
index 52c9ee372529883e36959699489ed55a586a99de..30a41369a3cc3e86c2147a7ab1f69cc6c9421a82 100644 (file)
@@ -513,7 +513,7 @@ virStorageBackendGlusterFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
     }
 
     if ((rc = virStorageBackendFindGlusterPoolSources(source->hosts[0].name,
-                                                      0, /* currently ignored */
+                                                      VIR_STORAGE_POOL_GLUSTER,
                                                       &list, true)) < 0)
         goto cleanup;
 
index 0ceaab6b95d796f58201f3d25b95486c40d78d53..715361923fe2fe69f1e38b76e11ef93f7dfa5daa 100644 (file)
@@ -2839,17 +2839,21 @@ virStorageBackendDeleteLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
 /**
  * virStorageBackendFindGlusterPoolSources:
  * @host: host to detect volumes on
- * @pooltype: src->format is set to this value
+ * @pooltype: type of the pool
  * @list: list of storage pool sources to be filled
  * @report: report error if the 'gluster' cli tool is missing
  *
  * Looks up gluster volumes on @host and fills them to @list.
  *
+ * @pooltype allows to influence the specific differences between netfs and
+ * native gluster pools. Users should pass only VIR_STORAGE_POOL_NETFS or
+ * VIR_STORAGE_POOL_GLUSTER.
+ *
  * Returns number of volumes on the host on success, or -1 on error.
  */
 int
 virStorageBackendFindGlusterPoolSources(const char *host,
-                                        int pooltype,
+                                        virStoragePoolType pooltype,
                                         virStoragePoolSourceListPtr list,
                                         bool report)
 {
@@ -2911,14 +2915,15 @@ virStorageBackendFindGlusterPoolSources(const char *host,
             goto cleanup;
         }
 
+        if (pooltype == VIR_STORAGE_POOL_NETFS)
+            src->format = VIR_STORAGE_POOL_NETFS_GLUSTERFS;
+
         if (VIR_ALLOC_N(src->hosts, 1) < 0)
             goto cleanup;
         src->nhost = 1;
 
         if (VIR_STRDUP(src->hosts[0].name, host) < 0)
             goto cleanup;
-
-        src->format = pooltype;
     }
 
     ret = nnodes;
index fa3b6522c9a8d7f6ed112fbd7684d9c59301c85e..1ba259c1ec9fed67d062339570ae2ea46909145c 100644 (file)
@@ -94,7 +94,7 @@ int virStorageBackendRefreshLocal(virConnectPtr conn,
                                   virStoragePoolObjPtr pool);
 
 int virStorageBackendFindGlusterPoolSources(const char *host,
-                                            int pooltype,
+                                            virStoragePoolType pooltype,
                                             virStoragePoolSourceListPtr list,
                                             bool report);