Index: virtinst-0.600.0/virtinst/Storage.py =================================================================== --- virtinst-0.600.0.orig/virtinst/Storage.py +++ virtinst-0.600.0/virtinst/Storage.py @@ -1291,8 +1291,8 @@ class FileVolume(StorageVolume): _file_type = VIR_STORAGE_VOL_FILE formats = ["raw", "bochs", "cloop", "cow", "dmg", "iso", "qcow", - "qcow2", "vmdk", "vpc"] - create_formats = ["raw", "cow", "qcow", "qcow2", "vmdk", "vpc"] + "qcow2", "qed", "vmdk", "vpc"] + create_formats = ["raw", "cow", "qcow", "qcow2", "qed", "vmdk", "vpc"] # Register applicable property methods from parent class perms = property(StorageObject.get_perms, StorageObject.set_perms) Index: virtinst-0.600.0/virtinst/VirtualDisk.py =================================================================== --- virtinst-0.600.0.orig/virtinst/VirtualDisk.py +++ virtinst-0.600.0/virtinst/VirtualDisk.py @@ -292,10 +292,11 @@ class VirtualDisk(VirtualDevice): DRIVER_TAP_RAW = "aio" DRIVER_TAP_QCOW = "qcow" + DRIVER_TAP_QED = "qed" DRIVER_TAP_VMDK = "vmdk" DRIVER_TAP_VDISK = "vdisk" driver_types = [DRIVER_TAP_RAW, DRIVER_TAP_QCOW, - DRIVER_TAP_VMDK, DRIVER_TAP_VDISK] + DRIVER_TAP_QED, DRIVER_TAP_VMDK, DRIVER_TAP_VDISK] CACHE_MODE_NONE = "none" CACHE_MODE_WRITETHROUGH = "writethrough" Index: virtinst-0.600.0/virtinst/ImageParser.py =================================================================== --- virtinst-0.600.0.orig/virtinst/ImageParser.py +++ virtinst-0.600.0/virtinst/ImageParser.py @@ -200,6 +200,7 @@ class Disk: FORMAT_ISO = "iso" FORMAT_QCOW = "qcow" FORMAT_QCOW2 = "qcow2" + FORMAT_QED = "qed" FORMAT_VMDK = "vmdk" USE_SYSTEM = "system" @@ -227,7 +228,7 @@ class Disk: csumtype = xpathString(d, "@type") csumvalue = xpathString(d, "") self.csum[csumtype] = csumvalue - formats = [Disk.FORMAT_RAW, Disk.FORMAT_QCOW, Disk.FORMAT_QCOW2, Disk.FORMAT_VMDK, Disk.FORMAT_ISO] + formats = [Disk.FORMAT_RAW, Disk.FORMAT_QCOW, Disk.FORMAT_QCOW2, Disk.FORMAT_QED, Disk.FORMAT_VMDK, Disk.FORMAT_ISO] validate(formats.count(self.format) > 0, _("The format for disk %s must be one of %s") % (self.file, ",".join(formats))) Index: virtinst-0.600.0/virtconv/diskcfg.py =================================================================== --- virtinst-0.600.0.orig/virtconv/diskcfg.py +++ virtinst-0.600.0/virtconv/diskcfg.py @@ -35,6 +35,7 @@ DISK_FORMAT_VDISK = 3 DISK_FORMAT_QCOW = 4 DISK_FORMAT_QCOW2 = 5 DISK_FORMAT_COW = 6 +DISK_FORMAT_QED 7 DISK_TYPE_DISK = 0 DISK_TYPE_CDROM = 1 @@ -50,6 +51,7 @@ disk_suffixes = { DISK_FORMAT_QCOW: ".qcow", DISK_FORMAT_QCOW2: ".qcow2", DISK_FORMAT_COW: ".cow", + DISK_FORMAT_QED: ".qed", } qemu_formats = { @@ -59,6 +61,7 @@ qemu_formats = { DISK_FORMAT_QCOW: "qcow", DISK_FORMAT_QCOW2: "qcow2", DISK_FORMAT_COW: "cow", + DISK_FORMAT_QED: "qed", } disk_format_names = { @@ -69,6 +72,7 @@ disk_format_names = { "qcow": DISK_FORMAT_QCOW, "qcow2": DISK_FORMAT_QCOW2, "cow": DISK_FORMAT_COW, + "qed": DISK_FORMAT_QED, } checksum_types = { @@ -260,7 +264,8 @@ class disk(object): out_format == DISK_FORMAT_VMDK or out_format == DISK_FORMAT_QCOW or out_format == DISK_FORMAT_QCOW2 or - out_format == DISK_FORMAT_COW): + out_format == DISK_FORMAT_COW or + out_format == DISK_FORMAT_QED): raise NotImplementedError(_("Cannot convert to disk format %s") % output_format) Index: virtinst-0.600.0/virtconv/parsers/virtimage.py =================================================================== --- virtinst-0.600.0.orig/virtconv/parsers/virtimage.py +++ virtinst-0.600.0/virtconv/parsers/virtimage.py @@ -246,6 +246,7 @@ class virtimage_parser(formats.parser): ImageParser.Disk.FORMAT_VMDK: diskcfg.DISK_FORMAT_VMDK, ImageParser.Disk.FORMAT_QCOW: diskcfg.DISK_FORMAT_QCOW, ImageParser.Disk.FORMAT_QCOW2: diskcfg.DISK_FORMAT_QCOW2, + ImageParser.Disk.FORMAT_QED: diskcfg.DISK_FORMAT_QED, } fmt = None