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.