]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainMachineSupportsFloppy: Check for QEMU_CAPS_BUS_FLOPPY
authorPeter Krempa <pkrempa@redhat.com>
Thu, 22 May 2025 18:49:51 +0000 (20:49 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 26 May 2025 13:48:06 +0000 (15:48 +0200)
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@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
16 files changed:
src/qemu/qemu_domain.c
tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
tests/domaincapsdata/qemu_10.0.0.aarch64.xml
tests/domaincapsdata/qemu_10.0.0.s390x.xml
tests/domaincapsdata/qemu_8.1.0.s390x.xml
tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
tests/domaincapsdata/qemu_8.2.0.aarch64.xml
tests/domaincapsdata/qemu_8.2.0.armv7l.xml
tests/domaincapsdata/qemu_8.2.0.s390x.xml
tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml
tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml
tests/domaincapsdata/qemu_9.1.0.s390x.xml
tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
tests/domaincapsdata/qemu_9.2.0.s390x.xml

index 7a308d488b55c0047fe078191d469a896bcfebcd..cc3ab0a298c985748dd17dcad3cc9864d53a166c 100644 (file)
@@ -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;
index 17777d253118e69c9b5a953eaca259765131afd4..8125821c00bcc6440cc0519da15775a705b1eafa 100644 (file)
       <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>
index 17777d253118e69c9b5a953eaca259765131afd4..8125821c00bcc6440cc0519da15775a705b1eafa 100644 (file)
       <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>
index d66240307ec44e67e010c811cf9582ce091d0235..cf154c098b354cfc2a0beaad4d1f6e2e40d7c8ee 100644 (file)
       <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>
index be8bb702453c1bcb9617df3b7b1b9a3f35a40a21..0c1fd5ab6e59913bfaf73603ca72e4891136e188 100644 (file)
       <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>
index 18979cf280fa61f0410811eec386c44d7273bf0b..8aeab0bbdb713d647bfdc2ebd30875165930a4aa 100644 (file)
       <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>
index ce17865e24f0a2c05eb74eb26595bc756ed0c673..e5c49e90953981329f403da8505ab314d90fe5e0 100644 (file)
       <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>
index 8f4ebbc107b7be291fcf0f92d4a1d0104ef41f91..5637efb4127e4b95d51d8fe5f422bd6975e1f5ca 100644 (file)
       <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>
index ce17865e24f0a2c05eb74eb26595bc756ed0c673..e5c49e90953981329f403da8505ab314d90fe5e0 100644 (file)
       <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>
index ee653c0c492729f409395a6047222c1709008b65..2e3514471f73558f93072d57f24266e010d230e4 100644 (file)
       <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>
index 78f91736d665e8ff15fe7d0d3bd5619976541997..e7834e19821cd1405dc5beef12ea394e641cd809 100644 (file)
       <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>
index b236ecbac4dd11f12419d19a63e4eb1fc3e83676..1abc098bc3d0add1e0ffe7a4f1c85e75542a08bb 100644 (file)
       <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>
index 1399b980fd39156dacb8604be9f1c5f4a7d16800..5ff79a9244cb3941b75a68a7d2b3e411940cb39f 100644 (file)
       <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>
index b73e0d0688296d63fdb013bacd58c9a52fee7262..c335cb8339c317d605ad8d931e2218088c14307e 100644 (file)
       <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>
index b8615a09867b034871fbb6a57d3fcee89abfe970..84f9ca786bb760891794c5573bf7631923d6993d 100644 (file)
       <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>
index 605a3af5c7ae9bdd1523e1d95890d79cd5e88667..e12aa5627bb6329be400fecaa44c0b72cffb344a 100644 (file)
       <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>