On Wed, Dec 11, 2019 at 01:24:17PM +0100, Kevin Wolf wrote: > Am 11.12.2019 um 11:51 hat Peter Krempa geschrieben: > > On Wed, Dec 11, 2019 at 11:14:39 +0100, Kevin Wolf wrote: > > > Am 11.12.2019 um 10:33 hat Peter Krempa geschrieben: > > > > On Wed, Dec 11, 2019 at 09:12:41 +0100, Markus Armbruster wrote: > > > > > Commit 7a9877a026 "block: Accept device model name for > > > > > block_set_io_throttle" (v2.8.0) deprecated block_set_io_throttle > > > > > argument @device. > > > > > > > > This one is more complex. The command is used both in 'blockdev' and in > > > > 'drive' mode: > > > > > > > > In 'drive' mode we pass the alias of the 'drive' as the @device > > > > argument. > > > > > > > > In 'blockdev' mode we pass the qom name as @id > > > > > > Any reason you couldn't use the QOM name even in 'drive' mode for any > > > QEMU version that has the @id option? > > > > Honestly, I didn't want to change the existing implementation at all. > > > > If it will help I can change that as it will be pretty easy to do. > > You can keep it for until after the blockdev dust has settled. It would > "just" be to address the deprecation since QEMU 2.8, not because of any > functional change. > > > > > > > > > Commit c42e8742f5 "block: Use JSON null instead of "" to disable > > > > > backing file" (v2.10.0) deprecated blockdev-add empty string > > > > > argument @backing. > > > > > > > > This is used in 'blockdev' mode only and we always pass the JSON null or > > > > a node name string. > > > > > > Here the thing to consider might be that JSON null isn't easy to use on > > > the command line for manual users. > > > > > > > > These were missed in commit eb22aeca65 "docs: document deprecation > > > > > policy & deprecated features in appendix" (v2.10.0). > > > > > > > > > > Commit 3c605f4074 "commit: Add top-node/base-node options" > > > > > (v3.1.0) > > > > > deprecated block-commit arguments @base and @top. > > > > > > > > This command also has two modes: > > > > > > > > In 'drive' mode we pass in path strings as @base and @ top. > > > > > > > > In 'blockdev' mode we pass in nodenames as @base-node and @top-node. > > > > > > > > Starting from qemu-4.2 libvirt uses 'blockdev' mode for VMs unless an SD > > > > card is configured as we didn't convert to the '-device' approach for > > > > those as AFAIK not everything is possible to be converted. > > > > > > Hm... I guess in 'drive' mode, you stil don't assign node names, so you > > > actually have to rely on paths? > > > > Well, in some specific cases we could detect the node names > > auto-assigned by qemu and use them instead of paths, but in my opinion > > it's not worth the effort and extra code. > > Well, the question is what to do on the QEMU side then. Deprecation > should mean that we have a plan for removing the feature. If we're > planning to keep the feature indefinitely because libvirt needs it, we > might want to consider removing the deprecation notice.
Ideally libvirt would stop using -drive entirely, as I hate the idea of having to keep this around indefinitely in libvirt too. This needs QEMU to close the last gaps wrt SD cards Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|