|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V10 1/3] libxl: Add support for Virtio disk configuration
On 15.06.22 17:23, Anthony PERARD wrote: Hello Anthony On Mon, Jun 13, 2022 at 09:05:20PM +0300, Oleksandr Tyshchenko wrote: yes, will do
yes, you are right. thank you for pointing this out. Maybe the check is done too soon, or maybe a better place to do it would be in libxl. libxl__device_disk_setdefault() is called much later, while executing libxl_device_disk_add(), so `xl` can't use the default been done there to "disk.specification". I got it. `xl block-attach` calls libxl_device_disk_add() which I think is only called for hotplug of disk. If I recall correctly, libxl__add_disks() is called instead at guest creation. So maybe it is possible to do something in libxl_device_disk_add(), but that a function defined by a macro, and the macro is using the same libxl__device_disk_add() that libxl_device_disk_add(). On the other hand, there is a "hotplug" parameter to libxl__device_disk_setdefault(), maybe that could be use? Thank you for digging into the details here.If I understood correctly your suggestion we simply can drop checks in main_blockattach() (and likely main_blockdetach() ?) and add it to libxl__device_disk_setdefault(). diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c index 9e82adb..96ace09 100644 --- a/tools/libs/light/libxl_disk.c +++ b/tools/libs/light/libxl_disk.c@@ -182,6 +182,11 @@ static int libxl__device_disk_setdefault(libxl__gc *gc, uint32_t domid,
disk->transport = LIBXL_DISK_TRANSPORT_MMIO;
}
+ if (hotplug && disk->specification != LIBXL_DISK_SPECIFICATION_XEN) {
+ LOGD(ERROR, domid, "Hotplug is only supported for specification
xen");
+ return ERROR_FAIL; + } +/* Force Qdisk backend for CDROM devices of guests with a device model. */
if (disk->is_cdrom != 0 &&
libxl__domain_type(gc, domid) == LIBXL_DOMAIN_TYPE_HVM) {
Is my understanding correct?
I have checked, it works:
root@generic-armv8-xt-dom0:~# xl block-attach DomU /dev/loop0,raw,xvda3
[ 762.062874] xen-blkback: backend/vbd/3/51715: using 4 queues,
protocol 1 (arm-abi)
root@generic-armv8-xt-dom0:~# xl block-attach DomU /dev/loop0,raw,xvda3,specification=virtio libxl: error: libxl_disk.c:186:libxl__device_disk_setdefault: Domain 3:Hotplug is only supported for specification xen libxl: error: libxl_device.c:1468:device_addrm_aocomplete: unable to add device Cheers, -- Regards, Oleksandr Tyshchenko
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |