From: Eduardo Habkost <ehabkost@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4 2/2] vl: Deprecate auto-loading of qemu.conf
Date: Thu, 5 Oct 2017 09:34:14 -0300 [thread overview]
Message-ID: <20171005123414.GE4015@localhost.localdomain> (raw)
In-Reply-To: <87infugpe6.fsf@dusky.pond.sub.org>
On Thu, Oct 05, 2017 at 07:00:33AM +0200, Markus Armbruster wrote:
> Eduardo Habkost <ehabkost@redhat.com> writes:
>
> > On Wed, Oct 04, 2017 at 09:23:08AM -0300, Eduardo Habkost wrote:
> >> On Wed, Oct 04, 2017 at 07:42:17AM +0200, Markus Armbruster wrote:
> >> > Eduardo Habkost <ehabkost@redhat.com> writes:
> >> >
> >> > > In case there were options set in the default config file, print
> >> > > a warning so users can update their scripts.
> >> > >
> >> > > If somebody wants to keep the config file as-is, avoid the
> >> > > warning and use a command-line that will work in future QEMU
> >> > > versions, they can use:
> >> > >
> >> > > $QEMU -no-user-config -readconfig /etc/qemu/qemu.conf
> >> > >
> >> > > I was going to include the suggestion in the warning message, but
> >> > > I thought it could make it more confusing. The suggestion is
> >> > > documented in qemu-doc.texi.
> >> > >
> >> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> >> > > ---
> >> > > Changes v3 -> v4:
> >> > > * Use warn_report() instead of error_report("warning: ...")
> >> > > (Eric Blake)
> >> > > * Document as a deprecated feature in qemu-doc.texi
> >> > > * Update subject line
> >> > > (was: "vl: Print warning when a default config file is loaded")
> >> > >
> >> > > Changes v2 -> v3:
> >> > > * Rebase (no code changes)
> >> > > * Commit message update: suggest -no-user-config
> >> > > ---
> >> > > vl.c | 6 ++++++
> >> > > qemu-doc.texi | 8 ++++++++
> >> > > 2 files changed, 14 insertions(+)
> >> > >
> >> > > diff --git a/vl.c b/vl.c
> >> > > index 3fed457921..1b0ecdf74e 100644
> >> > > --- a/vl.c
> >> > > +++ b/vl.c
> >> > > @@ -3066,6 +3066,12 @@ static int qemu_read_default_config_file(void)
> >> > > return ret;
> >> > > }
> >> > >
> >> > > + if (ret > 0) {
> >> > > + loc_set_none();
> >> >
> >> > Sure we need this here?
> >>
> >> IIRC we needed it in the original version, but I don't remember
> >> why. I will check this.
> >
> > This is the result if we don't clear error location state:
> >
> > $ ./x86_64-softmmu/qemu-system-x86_64 -monitor stdio -display none -device foobar
> > qemu-system-x86_64: -device foobar: warning: Future QEMU versions won't load /usr/local/etc/qemu/qemu.conf automatically
> > ^^^^^^^^^^^^^^
> >
> > However, it's probably better to do this right after the loop,
> > just like we already do in the second option parsing loop:
> >
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > diff --git a/vl.c b/vl.c
> > index f9acc17c01..a8fd247d71 100644
> > --- a/vl.c
> > +++ b/vl.c
> > @@ -3067,7 +3067,6 @@ static int qemu_read_default_config_file(void)
> > }
> >
> > if (ret > 0) {
> > - loc_set_none();
> > warn_report("Future QEMU versions won't load %s automatically",
> > CONFIG_QEMU_CONFDIR "/qemu.conf");
> > }
> > @@ -3224,6 +3223,11 @@ int main(int argc, char **argv, char **envp)
> > }
> > }
> > }
> > + /*
> > + * Clear error location left behind by the loop.
> > + * Best done right after the loop. Do not insert code here!
> > + */
> > + loc_set_none();
> >
> > if (userconfig) {
> > if (qemu_read_default_config_file() < 0) {
>
> Hmm, could this hunk be a bug fix? Consider before the patch:
>
> qemu_read_default_config_file()
> qemu_read_config_file()
> qemu_config_parse()
> error_report() or error_report_err()
>
> I suspect this uses current location left behind by the loop
> inappropriately. If true, the hunk should be a separate bug fix patch.
It does, but nothing was broken because the only thing between
the two option parsing loops is qemu_read_default_config_file(),
and qemu_config_parse() calls loc_push_none() immediately.
But it makes sense as a separate patch anyway. I will send a new
series.
--
Eduardo
prev parent reply other threads:[~2017-10-05 12:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-04 2:50 [Qemu-devel] [PATCH v4 0/2] vl: Deprecate auto-loading of qemu.conf Eduardo Habkost
2017-10-04 2:50 ` [Qemu-devel] [PATCH v4 1/2] config: qemu_config_parse() return number of config groups Eduardo Habkost
2017-10-04 20:41 ` Eduardo Habkost
2017-10-04 2:50 ` [Qemu-devel] [PATCH v4 2/2] vl: Deprecate auto-loading of qemu.conf Eduardo Habkost
2017-10-04 5:42 ` Markus Armbruster
2017-10-04 12:23 ` Eduardo Habkost
2017-10-04 20:57 ` Eduardo Habkost
2017-10-05 5:00 ` Markus Armbruster
2017-10-05 12:34 ` Eduardo Habkost [this message]
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=20171005123414.GE4015@localhost.localdomain \
--to=ehabkost@redhat.com \
--cc=armbru@redhat.com \
--cc=pbonzini@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).