mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-31 18:15:25 +00:00
storage: util: Pass pool type to virStorageBackendFindGlusterPoolSources
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.
(cherry picked from commit a92160dbd5
)
This commit is contained in:
parent
c1b4e0f31d
commit
975fb26272
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -94,7 +94,7 @@ int virStorageBackendRefreshLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool);
|
||||
|
||||
int virStorageBackendFindGlusterPoolSources(const char *host,
|
||||
int pooltype,
|
||||
virStoragePoolType pooltype,
|
||||
virStoragePoolSourceListPtr list,
|
||||
bool report);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user