libxl supports the LIBXL_DISK_BACKEND_QDISK disk backend, where qemu is used to provide the disk backend. This patch simply maps the existing <driver name='qemu'/> to LIBXL_DISK_BACKEND_QDISK. --- src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index e646ec5..1ddb1f5 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -501,6 +501,31 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) l_disk->driverName); return -1; } + } else if (STREQ(l_disk->driverName, "qemu")) { + x_disk->backend = LIBXL_DISK_BACKEND_QDISK; + switch (l_disk->format) { + case VIR_STORAGE_FILE_QCOW: + x_disk->format = LIBXL_DISK_FORMAT_QCOW; + break; + case VIR_STORAGE_FILE_QCOW2: + x_disk->format = LIBXL_DISK_FORMAT_QCOW2; + break; + case VIR_STORAGE_FILE_VHD: + x_disk->format = LIBXL_DISK_FORMAT_VHD; + break; + case VIR_STORAGE_FILE_NONE: + /* No subtype specified, default to raw */ + case VIR_STORAGE_FILE_RAW: + x_disk->format = LIBXL_DISK_FORMAT_RAW; + break; + default: + virReportError(VIR_ERR_INTERNAL_ERROR, + _("libxenlight does not support disk format %s " + "with disk driver %s"), + virStorageFileFormatTypeToString(l_disk->format), + l_disk->driverName); + return -1; + } } else if (STREQ(l_disk->driverName, "file")) { if (l_disk->format != VIR_STORAGE_FILE_NONE || l_disk->format != VIR_STORAGE_FILE_RAW) { -- 1.8.0.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list