return 0;
}
+
+/**
+ * virStorageBackendFileSystemGetPoolSource
+ * @pool: storage pool object pointer
+ *
+ * Allocate/return a string representing the FS storage pool source.
+ * It is up to the caller to VIR_FREE the allocated string
+ */
+static char *
+virStorageBackendFileSystemGetPoolSource(virStoragePoolObjPtr pool)
+{
+ char *src = NULL;
+
+ if (pool->def->type == VIR_STORAGE_POOL_NETFS) {
+ if (pool->def->source.format == VIR_STORAGE_POOL_NETFS_CIFS) {
+ if (virAsprintf(&src, "//%s/%s",
+ pool->def->source.hosts[0].name,
+ pool->def->source.dir) < 0)
+ return NULL;
+ } else {
+ if (virAsprintf(&src, "%s:%s",
+ pool->def->source.hosts[0].name,
+ pool->def->source.dir) < 0)
+ return NULL;
+ }
+ } else {
+ if (VIR_STRDUP(src, pool->def->source.devices[0].path) < 0)
+ return NULL;
+ }
+ return src;
+}
+
+
/**
* @pool storage pool to check for status
*
return -1;
}
- if (pool->def->type == VIR_STORAGE_POOL_NETFS) {
- if (pool->def->source.format == VIR_STORAGE_POOL_NETFS_CIFS) {
- if (virAsprintf(&src, "//%s/%s",
- pool->def->source.hosts[0].name,
- pool->def->source.dir) == -1)
- return -1;
- } else {
- if (virAsprintf(&src, "%s:%s",
- pool->def->source.hosts[0].name,
- pool->def->source.dir) == -1)
- return -1;
- }
- } else {
- if (VIR_STRDUP(src, pool->def->source.devices[0].path) < 0)
- return -1;
- }
+ if (!(src = virStorageBackendFileSystemGetPoolSource(pool)))
+ return -1;
if (netauto)
cmd = virCommandNewArgList(MOUNT,