rc = ERROR_FAIL;
goto out;
}
- if (dm_ver != LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL) {
- LOG(ERROR, "cdrom-insert does not work with %s",
- libxl_device_model_version_to_string(dm_ver));
- rc = ERROR_INVAL;
- goto out;
- }
disks = libxl_device_disk_list(ctx, domid, &num);
for (i = 0; i < num; i++) {
rc = libxl__device_from_disk(gc, domid, disk, &device);
if (rc) goto out;
+
+ if (dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
+ rc = libxl__qmp_insert_cdrom(gc, domid, disk);
+ if (rc) goto out;
+ }
+
path = libxl__device_backend_path(gc, &device);
insert = flexarray_make(gc, 4, 1);