[Libguestfs] [PATCH] v2v: disk: strip only common extension (RHBZ#1365005)

Pino Toscano ptoscano at redhat.com
Mon Aug 8 13:51:55 UTC 2016


In disk input mode, to determine the guest name strip the extension from
the filename only if it's a very well extension for disk images.
---
 v2v/input_disk.ml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml
index 17ad61d..939a16b 100644
--- a/v2v/input_disk.ml
+++ b/v2v/input_disk.ml
@@ -42,9 +42,13 @@ class input_disk input_format disk = object
      * the filename passed in.  Users can override this using the
      * `-on name' option.
      *)
-    let name = Filename.basename disk in
     let name =
-      try Filename.chop_extension name with Invalid_argument _ -> name in
+      let name = Filename.basename disk in
+      let ext = last_part_of name '.' in
+      (* Remove the extension, only if it's one usually used for disk images. *)
+      match ext with
+      | Some ("img"|"qcow2"|"raw"|"vmdk") -> Filename.chop_extension name
+      | None | Some _ -> name in
     if name = "" then
       error (f_"-i disk: invalid input filename (%s)") disk;
 
-- 
2.7.4




More information about the Libguestfs mailing list