mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-18 10:35:20 +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 a92160dbd5416b093c0d99991afe300b9b8572c4)
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…
x
Reference in New Issue
Block a user