From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Fehlig Subject: Re: libvirt, libxl and QDISKs Date: Thu, 25 Apr 2013 22:50:35 -0600 Message-ID: <517A079B.60503@suse.com> References: <5177EA93.7000403@eu.citrix.com> <1366880153.20256.432.camel@zakaz.uk.xensource.com> <1366889589.20256.510.camel@zakaz.uk.xensource.com> <1366891065.20256.517.camel@zakaz.uk.xensource.com> <51791DB1.9070903@eu.citrix.com> <1366893802.20256.526.camel@zakaz.uk.xensource.com> <51792E1F.3030005@eu.citrix.com> <1366898215.20256.552.camel@zakaz.uk.xensource.com> <5179D7F4.2080408@suse.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040109010400020409040603" Return-path: In-Reply-To: <5179D7F4.2080408@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: George Dunlap , Stefano Stabellini , Dave Scott , xen-devel List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------040109010400020409040603 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Jim Fehlig wrote: > Ian Campbell wrote: > >> On Thu, 2013-04-25 at 14:22 +0100, Dave Scott wrote: >> >> >>> On 25/04/13 13:43, Ian Campbell wrote: >>> >>> >> >> >>> It looks like we could define a "qdisk" driverName. >>> >>> >> Yes, I think this would work. WRT to your comment below it looks like >> other libvirt drivers call this driver "qemu". >> >> > > IMO, we should just extend the above to map driverName 'qemu' to backend > 'qdisk'. But what about the formats? I though qdisk could handle all > of them, particularly with qemu-upstream, even vmdk? > Something like the attached, which seems to work well for me when specifying driverName = qemu, e.g. Regards, Jim --------------040109010400020409040603 Content-Type: text/x-patch; name="libvirt-libxl-qdisk.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="libvirt-libxl-qdisk.patch" diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 7e0753a..f549a5d 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -505,6 +505,29 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) } else if (STREQ(l_disk->driverName, "phy")) { x_disk->format = LIBXL_DISK_FORMAT_RAW; x_disk->backend = LIBXL_DISK_BACKEND_PHY; + } 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"), + virStorageFileFormatTypeToString(l_disk->format)); + return -1; + } } else { virReportError(VIR_ERR_INTERNAL_ERROR, _("libxenlight does not support disk driver %s"), --------------040109010400020409040603 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------040109010400020409040603--