[Libguestfs] [PATCH v2] v2v: disk: strip only common extension (RHBZ#1365005)
Richard W.M. Jones
rjones at redhat.com
Mon Aug 8 15:32:49 UTC 2016
On Mon, Aug 08, 2016 at 05:21:35PM +0200, Pino Toscano wrote:
> 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 | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml
> index 17ad61d..d56c476 100644
> --- a/v2v/input_disk.ml
> +++ b/v2v/input_disk.ml
> @@ -42,9 +42,23 @@ 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
> + (* Remove the extension (or suffix), only if it's one usually
> + * used for disk images. *)
> + let suffixes = [
> + ".img"; ".qcow2"; ".raw"; ".vmdk";
> + "-sda";
> + ] in
> + let rec loop = function
> + | suff :: xs ->
> + if Filename.check_suffix name suff then
> + Filename.chop_suffix name suff
> + else
> + loop xs
> + | [] -> name
> + in
> + loop suffixes in
> if name = "" then
> error (f_"-i disk: invalid input filename (%s)") disk;
ACK
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
More information about the Libguestfs
mailing list