From: Peter Krempa <pkrempa(a)redhat.com>
Refuse to use floppy devices if qemu doesn't support them. Reflect that
also in capabilities. Both of the above is achieved by checking for the
QEMU_CAPS_BUS_FLOPPY in qemuDomainMachineSupportsFloppy.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_domain.c | 3 +++
tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml | 2 --
tests/domaincapsdata/qemu_10.0.0.aarch64.xml | 2 --
tests/domaincapsdata/qemu_10.0.0.s390x.xml | 2 --
tests/domaincapsdata/qemu_8.1.0.s390x.xml | 2 --
tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml | 2 --
tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 2 --
tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml | 2 --
tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 2 --
tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 2 --
tests/domaincapsdata/qemu_8.2.0.s390x.xml | 2 --
tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml | 2 --
tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml | 2 --
tests/domaincapsdata/qemu_9.1.0.s390x.xml | 2 --
tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml | 2 --
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 2 --
16 files changed, 3 insertions(+), 30 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 7a308d488b..cc3ab0a298 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -11531,6 +11531,9 @@ bool
qemuDomainMachineSupportsFloppy(const char *machine,
virQEMUCaps *qemuCaps)
{
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BUS_FLOPPY))
+ return false;
+
/* PowerPC pseries based VMs do not support floppy device */
if (qemuDomainMachineIsPSeries(machine, virQEMUCapsGetArch(qemuCaps)))
return false;
diff --git a/tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
index 17777d2531..8125821c00 100644
--- a/tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
@@ -100,11 +100,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_10.0.0.aarch64.xml
b/tests/domaincapsdata/qemu_10.0.0.aarch64.xml
index 17777d2531..8125821c00 100644
--- a/tests/domaincapsdata/qemu_10.0.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_10.0.0.aarch64.xml
@@ -100,11 +100,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_10.0.0.s390x.xml
b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
index d66240307e..cf154c098b 100644
--- a/tests/domaincapsdata/qemu_10.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
@@ -234,11 +234,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.1.0.s390x.xml
b/tests/domaincapsdata/qemu_8.1.0.s390x.xml
index be8bb70245..0c1fd5ab6e 100644
--- a/tests/domaincapsdata/qemu_8.1.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.s390x.xml
@@ -323,11 +323,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
index 18979cf280..8aeab0bbdb 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
@@ -52,11 +52,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
index ce17865e24..e5c49e9095 100644
--- a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
@@ -100,11 +100,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
index 8f4ebbc107..5637efb412 100644
--- a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
@@ -56,11 +56,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
index ce17865e24..e5c49e9095 100644
--- a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
@@ -100,11 +100,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
index ee653c0c49..2e3514471f 100644
--- a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
@@ -49,11 +49,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_8.2.0.s390x.xml
b/tests/domaincapsdata/qemu_8.2.0.s390x.xml
index 78f91736d6..e7834e1982 100644
--- a/tests/domaincapsdata/qemu_8.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.s390x.xml
@@ -323,11 +323,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml
b/tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml
index b236ecbac4..1abc098bc3 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml
@@ -62,11 +62,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml
b/tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml
index 1399b980fd..5ff79a9244 100644
--- a/tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml
@@ -51,11 +51,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_9.1.0.s390x.xml
b/tests/domaincapsdata/qemu_9.1.0.s390x.xml
index b73e0d0688..c335cb8339 100644
--- a/tests/domaincapsdata/qemu_9.1.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.s390x.xml
@@ -186,11 +186,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
b/tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
index b8615a0986..84f9ca786b 100644
--- a/tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
@@ -99,11 +99,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
diff --git a/tests/domaincapsdata/qemu_9.2.0.s390x.xml
b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
index 605a3af5c7..e12aa5627b 100644
--- a/tests/domaincapsdata/qemu_9.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
@@ -186,11 +186,9 @@
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
- <value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
- <value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
--
2.49.0