mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
launch: appliance: Disable virtio-scsi if qemu <= 1.1.
Debian Wheezy (7) ships with old qemu 1.1 which claims to support virtio-scsi but in reality it's broken. Disable virtio-scsi in this case.
This commit is contained in:
@@ -914,6 +914,11 @@ qemu_supports_virtio_scsi (guestfs_h *g)
|
||||
{
|
||||
int r;
|
||||
|
||||
if (!g->app.qemu_help) {
|
||||
if (test_qemu (g) == -1)
|
||||
return 0; /* safe option? */
|
||||
}
|
||||
|
||||
/* g->app.virtio_scsi has these values:
|
||||
* 0 = untested (after handle creation)
|
||||
* 1 = supported
|
||||
@@ -921,13 +926,18 @@ qemu_supports_virtio_scsi (guestfs_h *g)
|
||||
* 3 = test failed (use virtio-blk)
|
||||
*/
|
||||
if (g->app.virtio_scsi == 0) {
|
||||
r = qemu_supports_device (g, "virtio-scsi-pci");
|
||||
if (r > 0)
|
||||
g->app.virtio_scsi = 1;
|
||||
else if (r == 0)
|
||||
/* qemu 1.1 claims to support virtio-scsi but in reality it's broken. */
|
||||
if (g->app.qemu_version_major == 1 && g->app.qemu_version_minor < 2)
|
||||
g->app.virtio_scsi = 2;
|
||||
else
|
||||
g->app.virtio_scsi = 3;
|
||||
else {
|
||||
r = qemu_supports_device (g, "virtio-scsi-pci");
|
||||
if (r > 0)
|
||||
g->app.virtio_scsi = 1;
|
||||
else if (r == 0)
|
||||
g->app.virtio_scsi = 2;
|
||||
else
|
||||
g->app.virtio_scsi = 3;
|
||||
}
|
||||
}
|
||||
|
||||
return g->app.virtio_scsi == 1;
|
||||
|
||||
Reference in New Issue
Block a user