[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] libvirt, libxl and QDISKs
On Wed, 24 Apr 2013, David Scott wrote: > Hi, > > Now that libxl + qemu's built-in disk backend for ceph/rbd is working > nicely, I'm trying to get it all working through libvirt. > > When libvirt's libxl driver creates a libxl_device_disk, it applies a > few simple rules[1] covering specific file format types (qcow, qcow2, > vhd). If none of these rules apply then it defers to libxl's best guess: > > * If driverName is not specified, default to raw as per > * xl-disk-configuration.txt in the xen documentation and let > * libxl pick a suitable backend. > */ > x_disk->format = LIBXL_DISK_FORMAT_RAW; > x_disk->backend = LIBXL_DISK_BACKEND_UNKNOWN; > > The libxl code in libxl__device_disk_set_backend[2] tries to resolve > 'UNKNOWN' into something concrete by calling 'disk_try_backend': > > disk_try_backend(&a, LIBXL_DISK_BACKEND_PHY) ?: > disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP) ?: > disk_try_backend(&a, LIBXL_DISK_BACKEND_QDISK); > > Unfortunately for me and my quest, the case for LIBXL_DISK_BACKEND_TAP > just checks for > * lack of hotplug script > * libxl__blktap_enabled > * DISK_FORMAT_{RAW,VHD} > and so it selects TAP and then fails, because tapdisk doesn't know > anything about this disk access protocol (yet at least). Unbeknownst to > libxl, qemu would be able to handle the disk in this case. > > I'm not sure what the best way to address this is. I could disable > blktap on my system but it would be a shame to drop support for the > stuff tapdisk does well (like .vhd handling) > > On the other hand, having both tapdisk and qemu means having to choose > between them for disk protocols they could both handle. A choice would > either have to be coded in libxl (or libvirt's libxl driver), which > seems like a bit of an annoying maintenance burden (i.e. update the list > every time someone adds a driver somewhere); or it could be left to the > sysadmin to choose via some kind of resolver script, which seems a bit > complex. > > A third possibility is to be able to ask tapdisk, "do you actually > support this disk" and if yes, use it in preference to qemu, if no fall > back to qemu. > > Anyone got any thoughts? (Or perhaps I've missed something obvious! :-) I vote for using blktap exclusively for VHD files. In fact we do know that blktap support is not great for anything else anyway (qcow2 I am thinking about you). _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |