]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: use virFindFileInPath to validate presence of mkfs
authorPavel Hrdina <phrdina@redhat.com>
Wed, 14 Apr 2021 23:09:21 +0000 (01:09 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Wed, 21 Apr 2021 12:20:50 +0000 (14:20 +0200)
Future patch will remove MKFS define as we will no longer check it
during compilation.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
src/storage/storage_backend_fs.c

index bb93d64bbeb0d44b13a78ab1b6f09f8629c0e8e1..af645ea9def084be34b58a79fd3b39370b36cec0 100644 (file)
@@ -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 available 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,