From c83107132f1488fc84fe804d3c81bb7c4efa4d6a Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Thu, 2 May 2013 12:03:09 +0100 Subject: libxl: Don't use tapdisk for cd-roms blktap does not support the insert / eject commands, and so is not suitable for cd-roms. This fixes the bug where libxl uses tapdisk as a cdrom back-end, causing subsequent eject / insert commands to fail. Signed-off-by: George Dunlap CC: Fabio Fantoni CC: Stefano Stabellini CC: Ian Campbell Acked-by: Ian Jackson --- tools/libxl/libxl_device.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index a826ecef75..a5cf446a24 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -178,6 +178,12 @@ static int disk_try_backend(disk_try_backend_args *a, case LIBXL_DISK_BACKEND_TAP: if (a->disk->script) goto bad_script; + if (a->disk->is_cdrom) { + LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend tap" + " unsuitable for cdroms", + a->disk->vdev); + return 0; + } if (!libxl__blktap_enabled(a->gc)) { LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend tap" " unsuitable because blktap not available", -- cgit v1.2.3