[libvirt] [PATCH] Add basic support for VDI images
Daniel P. Berrange
berrange at redhat.com
Mon Feb 4 15:53:18 UTC 2013
On Mon, Feb 04, 2013 at 04:46:53PM +0100, Martin Kletzander wrote:
> QEMU is fully capable of handling VDI images and we just refuse to
> work with them. As qemu-img knows and supports this, there should be
> no problem with this addition.
>
> This is of course, just basic functionality, without searching for any
> backing files, etc.
> ---
>
> It's very much possible that I missed something when adding this
> "functionality", I just tested running a machine and creating a volume
> using 'virsh vol-create-as'. So feel free to point out mymistakes.
>
> ---
> src/util/virstoragefile.c | 9 +++++++--
> src/util/virstoragefile.h | 3 ++-
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> index cdac5b1..33e72c9 100644
> --- a/src/util/virstoragefile.c
> +++ b/src/util/virstoragefile.c
> @@ -1,7 +1,7 @@
> /*
> * virstoragefile.c: file utility functions for FS storage backend
> *
> - * Copyright (C) 2007-2012 Red Hat, Inc.
> + * Copyright (C) 2007-2013 Red Hat, Inc.
> * Copyright (C) 2007-2008 Daniel P. Berrange
> *
> * This library is free software; you can redistribute it and/or
> @@ -51,7 +51,7 @@ VIR_ENUM_IMPL(virStorageFileFormat,
> "raw", "dir", "bochs",
> "cloop", "cow", "dmg", "iso",
> "qcow", "qcow2", "qed", "vmdk", "vpc",
> - "fat", "vhd")
> + "fat", "vhd", "vdi")
>
> enum lv_endian {
> LV_LITTLE_ENDIAN = 1, /* 1234 */
> @@ -193,6 +193,11 @@ static struct FileTypeInfo const fileTypeInfo[] = {
> -1, 0, 0, 0, 0, 0, NULL },
> [VIR_STORAGE_FILE_VHD] = { NULL, NULL, LV_LITTLE_ENDIAN,
> -1, 0, 0, 0, 0, 0, NULL },
> +
> + /* not fully supported, but qemu knows it, so we should be able to
> + * handle this at least basically */
> + [VIR_STORAGE_FILE_VDI] = { NULL, ".vdi", LV_LITTLE_ENDIAN,
> + -2, 0, 0, 0, 0, -1, NULL},
We can do better than that - look at block/vdi.c in QEMU GIT tree
to find out the offsets / values for version number, magic signature
at least, even if you ignore backing files for now.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list