qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Insufficiently documented deprecated command arguments


From: Kevin Wolf
Subject: Re: Insufficiently documented deprecated command arguments
Date: Wed, 11 Dec 2019 13:24:17 +0100
User-agent: Mutt/1.12.1 (2019-06-15)

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.

(Though honestly, keeping this one indefinitely feels wrong because
using file names to identify nodes was really one of the worse ideas.)

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]