All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Peter Krempa <pkrempa@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	qemu-block@nongnu.org, qemu-devel@nongnu.org
Subject: Re: Insufficiently documented deprecated command arguments
Date: Wed, 11 Dec 2019 12:32:10 +0000	[thread overview]
Message-ID: <20191211123210.GH955178@redhat.com> (raw)
In-Reply-To: <20191211122417.GB6505@linux.fritz.box>

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	other threads:[~2019-12-11 13:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11  8:12 Insufficiently documented deprecated command arguments Markus Armbruster
2019-12-11  9:33 ` Peter Krempa
2019-12-11 10:14   ` Kevin Wolf
2019-12-11 10:51     ` Peter Krempa
2019-12-11 12:24       ` Kevin Wolf
2019-12-11 12:32         ` Daniel P. Berrangé [this message]
2019-12-11 12:55           ` Peter Krempa
2019-12-11 16:30             ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191211123210.GH955178@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.