Peter Krempa <pkrempa@xxxxxxxxxx> writes: > On Thu, Mar 04, 2021 at 17:23:05 +0100, Markus Armbruster wrote: >> Daniel P. Berrangé <berrange@xxxxxxxxxx> writes: >> >> > On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote: >> >> Daniel P. Berrangé <berrange@xxxxxxxxxx> writes: >> >> >> >> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote: >> >> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate >> >> >> configuring floppies with -global isa-fdc" (v5.1.0). >> >> >> >> >> >> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> >> >> >> --- >> >> >> docs/system/deprecated.rst | 26 -- >> >> >> docs/system/removed-features.rst | 26 ++ >> >> >> hw/block/fdc.c | 54 +-- >> >> >> tests/qemu-iotests/172 | 31 +- >> >> >> tests/qemu-iotests/172.out | 562 +------------------------------ >> >> >> 5 files changed, 30 insertions(+), 669 deletions(-) > > [...] > >> >> >> >> Correct. >> >> >> >> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring >> >> floppies with -global isa-fdc" (v5.1.0). Since then, its use triggers a >> >> warning: >> >> >> >> $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1 >> >> qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated >> >> Use -device floppy,unit=0,drive=... instead. >> >> >> >> Note the -M q35. Needed because the default machine type has an onboard >> >> isa-fdc, which cannot be configured this way. >> >> >> >> Sadly, the commit's update of docs/system/deprecated.rst neglects to >> >> cover this use. Looks the series overtaxed my capacity to juggle >> >> details; my apologies. >> >> >> >> Is libvirt still using these properties? >> > >> > Unfortunately yes, but it seems like it ought to be fairly easy to >> > change the syntax. Just need to figure out what the right way to >> > detect the availability of the new syntax is. Presumably just look >> > for existance of the 'floppy' device type ? >> >> Yes. The device type was added in merge commit fd209e4a7, v2.8.0. >> >> > Can you confirm that switching from -global to the new -device floppy >> > does /not/ have any live migration impact ? >> >> Yes, it must not affect migration. >> >> When Kevin split the floppy device type off the floppy controller, he >> had to add some moderately ugly hackery to keep the old qdev properties >> working. Think propagate property values to floppy from controller, >> which otherwise ignores them. >> >> The way you get the values into the floppy device cannot affect the >> migration data. Only different values can. >> >> This patch removes a deprecated way. > > Note that when QEMU_CAPS_BLOCKDEV is asserted we format floppies as: > > -blockdev '{"driver":"file","filename":"/tmp/firmware.img",\ > "node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ > -blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ > "file":"libvirt-2-storage"}' \ > -device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \ > -blockdev '{"driver":"file","filename":"/tmp/data.img",\ > "node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ > -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ > "file":"libvirt-1-storage"}' \ > -device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \ > > as visible in the test file: > > tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args > > So libvirt should be in the clear. isa-fdc with driveA/driveB is > formatted only when the blockdev capability isn't present. Even better: in the clear for some time already, which means a wider range of libvirt versions keeps working with the latest QEMU. Nice, because keeping the coupling reasonably lose makes upgrading easier. Thanks!