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: Daniel P . Berrangé
Subject: Re: Insufficiently documented deprecated command arguments
Date: Wed, 11 Dec 2019 12:32:10 +0000
User-agent: Mutt/1.12.1 (2019-06-15)

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 :|




reply via email to

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