[libvirt] [PATCH 2/8] storage: Move FS backend mount creation command helper

John Ferlan jferlan at redhat.com
Tue Dec 4 16:47:11 UTC 2018


Move virStorageBackendFileSystemMountCmd to storage_util so that
it can be used by the test harness.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/storage/storage_backend_fs.c | 52 --------------------------------
 src/storage/storage_util.c       | 52 ++++++++++++++++++++++++++++++++
 src/storage/storage_util.h       |  4 +++
 3 files changed, 56 insertions(+), 52 deletions(-)

diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 4bf411b330..b341ba84fa 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -331,58 +331,6 @@ virStorageBackendFileSystemIsMounted(virStoragePoolObjPtr pool)
 }
 
 
-static virCommandPtr
-virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
-                                    const char *src)
-{
-    /* 'mount -t auto' doesn't seem to auto determine nfs (or cifs),
-     *  while plain 'mount' does. We have to craft separate argvs to
-     *  accommodate this */
-    bool netauto = (def->type == VIR_STORAGE_POOL_NETFS &&
-                    def->source.format == VIR_STORAGE_POOL_NETFS_AUTO);
-    bool glusterfs = (def->type == VIR_STORAGE_POOL_NETFS &&
-                      def->source.format == VIR_STORAGE_POOL_NETFS_GLUSTERFS);
-    bool cifsfs = (def->type == VIR_STORAGE_POOL_NETFS &&
-                   def->source.format == VIR_STORAGE_POOL_NETFS_CIFS);
-    virCommandPtr cmd = NULL;
-
-    if (netauto)
-        cmd = virCommandNewArgList(MOUNT,
-                                   src,
-                                   def->target.path,
-                                   NULL);
-    else if (glusterfs)
-        cmd = virCommandNewArgList(MOUNT,
-                                   "-t",
-                                   virStoragePoolFormatFileSystemNetTypeToString(def->source.format),
-                                   src,
-                                   "-o",
-                                   "direct-io-mode=1",
-                                   def->target.path,
-                                   NULL);
-    else if (cifsfs)
-        cmd = virCommandNewArgList(MOUNT,
-                                   "-t",
-                                   virStoragePoolFormatFileSystemNetTypeToString(def->source.format),
-                                   src,
-                                   def->target.path,
-                                   "-o",
-                                   "guest",
-                                   NULL);
-    else
-        cmd = virCommandNewArgList(MOUNT,
-                                   "-t",
-                                   (def->type == VIR_STORAGE_POOL_FS ?
-                                    virStoragePoolFormatFileSystemTypeToString(def->source.format) :
-                                    virStoragePoolFormatFileSystemNetTypeToString(def->source.format)),
-                                   src,
-                                   def->target.path,
-                                   NULL);
-
-    return cmd;
-}
-
-
 /**
  * @pool storage pool to mount
  *
diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
index 318a556656..180d7b1fa3 100644
--- a/src/storage/storage_util.c
+++ b/src/storage/storage_util.c
@@ -4226,3 +4226,55 @@ virStorageBackendZeroPartitionTable(const char *path,
     return storageBackendVolWipeLocalFile(path, VIR_STORAGE_VOL_WIPE_ALG_ZERO,
                                           size, true);
 }
+
+
+virCommandPtr
+virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
+                                    const char *src)
+{
+    /* 'mount -t auto' doesn't seem to auto determine nfs (or cifs),
+     *  while plain 'mount' does. We have to craft separate argvs to
+     *  accommodate this */
+    bool netauto = (def->type == VIR_STORAGE_POOL_NETFS &&
+                    def->source.format == VIR_STORAGE_POOL_NETFS_AUTO);
+    bool glusterfs = (def->type == VIR_STORAGE_POOL_NETFS &&
+                      def->source.format == VIR_STORAGE_POOL_NETFS_GLUSTERFS);
+    bool cifsfs = (def->type == VIR_STORAGE_POOL_NETFS &&
+                   def->source.format == VIR_STORAGE_POOL_NETFS_CIFS);
+    virCommandPtr cmd = NULL;
+
+    if (netauto)
+        cmd = virCommandNewArgList(MOUNT,
+                                   src,
+                                   def->target.path,
+                                   NULL);
+    else if (glusterfs)
+        cmd = virCommandNewArgList(MOUNT,
+                                   "-t",
+                                   virStoragePoolFormatFileSystemNetTypeToString(def->source.format),
+                                   src,
+                                   "-o",
+                                   "direct-io-mode=1",
+                                   def->target.path,
+                                   NULL);
+    else if (cifsfs)
+        cmd = virCommandNewArgList(MOUNT,
+                                   "-t",
+                                   virStoragePoolFormatFileSystemNetTypeToString(def->source.format),
+                                   src,
+                                   def->target.path,
+                                   "-o",
+                                   "guest",
+                                   NULL);
+    else
+        cmd = virCommandNewArgList(MOUNT,
+                                   "-t",
+                                   (def->type == VIR_STORAGE_POOL_FS ?
+                                    virStoragePoolFormatFileSystemTypeToString(def->source.format) :
+                                    virStoragePoolFormatFileSystemNetTypeToString(def->source.format)),
+                                   src,
+                                   def->target.path,
+                                   NULL);
+
+    return cmd;
+}
diff --git a/src/storage/storage_util.h b/src/storage/storage_util.h
index 58b991c772..5b0baf56c4 100644
--- a/src/storage/storage_util.h
+++ b/src/storage/storage_util.h
@@ -177,4 +177,8 @@ int
 virStorageBackendZeroPartitionTable(const char *path,
                                     unsigned long long size);
 
+virCommandPtr
+virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
+                                    const char *src);
+
 #endif /* __VIR_STORAGE_UTIL_H__ */
-- 
2.17.2




More information about the libvir-list mailing list