[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration |
Date: |
Fri, 05 Mar 2021 07:41:45 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Peter Krempa <pkrempa@redhat.com> writes:
> On Thu, Mar 04, 2021 at 17:23:05 +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>
>> > On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
>> >> Daniel P. Berrangé <berrange@redhat.com> 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@redhat.com>
>> >> >> ---
>> >> >> 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!
- [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T, Markus Armbruster, 2021/03/04
- [PATCH v2 2/3] fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common(), Markus Armbruster, 2021/03/04
- [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Markus Armbruster, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Daniel P . Berrangé, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Markus Armbruster, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Daniel P . Berrangé, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Markus Armbruster, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Peter Krempa, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Daniel P . Berrangé, 2021/03/04
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration,
Markus Armbruster <=
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Markus Armbruster, 2021/03/05
- Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration, Daniel P . Berrangé, 2021/03/08
[PATCH v2 3/3] blockdev: Drop deprecated bogus -drive interface type, Markus Armbruster, 2021/03/04