[libvirt PATCH v2 13/21] storage: use virFindFileInPath to validate presence of mkfs

Pavel Hrdina phrdina at redhat.com
Mon Apr 19 17:14:16 UTC 2021


Future patch will remove MKFS define as we will no longer check it
during compilation.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/storage/storage_backend_fs.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index bb93d64bbe..b0f8070c6c 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -397,13 +397,20 @@ virStorageBackendFileSystemCheck(virStoragePoolObj *pool,
     return 0;
 }
 
-/* some platforms don't support mkfs */
-#ifdef MKFS
 static int
 virStorageBackendExecuteMKFS(const char *device,
                              const char *format)
 {
     g_autoptr(virCommand) cmd = NULL;
+    g_autofree char *mkfs = virFindFileInPath(MKFS);
+
+    if (!mkfs) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("mkfs is not supported on this platform: "
+                         "Failed to make filesystem of type '%s' on device '%s'"),
+                       format, device);
+        return -1;
+    }
 
     cmd = virCommandNewArgList(MKFS, "-t", format, NULL);
 
@@ -426,19 +433,6 @@ virStorageBackendExecuteMKFS(const char *device,
 
     return 0;
 }
-#else /* #ifdef MKFS */
-static int
-virStorageBackendExecuteMKFS(const char *device G_GNUC_UNUSED,
-                             const char *format G_GNUC_UNUSED)
-{
-    virReportError(VIR_ERR_INTERNAL_ERROR,
-                   _("mkfs is not supported on this platform: "
-                     "Failed to make filesystem of "
-                     "type '%s' on device '%s'"),
-                   format, device);
-    return -1;
-}
-#endif /* #ifdef MKFS */
 
 static int
 virStorageBackendMakeFileSystem(virStoragePoolObj *pool,
-- 
2.30.2




More information about the libvir-list mailing list