All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 4/5] QemuOpts: framework for storing and parsing options.
Date: Wed, 22 Jul 2009 09:31:12 +0200	[thread overview]
Message-ID: <4A66C040.8010204@redhat.com> (raw)
In-Reply-To: <4A66B8AD.90107@redhat.com>

Gerd Hoffmann schrieb:
> On 07/21/09 17:58, Kevin Wolf wrote:
>> Right, this is one of the points I thought of. Another one is that there
>> are some variants in use with a required first parameter that doesn't
>> have a name (like nic in -net nic,model=xyz). I guess, there are some
>> more details that are not completely covered.
> 
> -net is a very special beast as the list of parameters is very different 
> for -net nic, -net tap, -net user, ...
> 
> So it probably makes sense to have a separate QemuOptsList for each of 
> them instead of storing a "type=[nic|tap|user]" into a common net list.

I agree, -net should be done different, so this was a bad example. But I
thought we had more of them. -boot is an option with implicit first
parameter name, and there was at least a discussion on making -smp
another one. There might be more.

Or do you want to keep the old parsing code for these options?

>>> We could do it early, when parsing/storing the values.  QemuOptsList
>>> could get a QEMUOptionParameter-like struct instead of the simple
>>> valid[] array.  QemuOpts->value would become a union.  qemu_opt_set
>>> handles parsing and stores in the union.  qemu_opt_get() would move to
>>> qemu_opt_get_$type() and it would return the value from the matching
>>> union member.
>>>
>>> We could do it late, when using the values.  Parsing would happen
>>> directly in qemu_opt_get_$type().
>> I would prefer doing it in a central place, so that you don't depend on
>> the user to actually trigger checks. But probably both would work.
> 
> Yep, so we have one place where we catch parse errors instead of having 
> each callsite to check for qemu_opt_get_$type() failures.

Sounds great. Now it just needs to be implemented. ;-)

Kevin

  reply	other threads:[~2009-07-22  7:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-16 14:56 [Qemu-devel] [PATCH v3 0/5] cleanup drive handling Gerd Hoffmann
2009-07-16 14:57 ` [Qemu-devel] [PATCH v3 1/5] kill drives_table Gerd Hoffmann
2009-07-16 14:57 ` [Qemu-devel] [PATCH v3 2/5] add support for drive ids Gerd Hoffmann
2009-07-16 14:57 ` [Qemu-devel] [PATCH v3 3/5] kill drives_opt Gerd Hoffmann
2009-07-16 14:57 ` [Qemu-devel] [PATCH v3 4/5] QemuOpts: framework for storing and parsing options Gerd Hoffmann
2009-07-16 16:35   ` [Qemu-devel] " Jan Kiszka
2009-07-16 18:50     ` Gerd Hoffmann
2009-07-17  7:03   ` [Qemu-devel] " Kevin Wolf
2009-07-21  7:25     ` Gerd Hoffmann
2009-07-21  7:42       ` Kevin Wolf
2009-07-21 13:59     ` Gerd Hoffmann
2009-07-21 15:58       ` Kevin Wolf
2009-07-22  6:58         ` Gerd Hoffmann
2009-07-22  7:31           ` Kevin Wolf [this message]
2009-07-22  7:55             ` Gerd Hoffmann
2009-07-16 14:57 ` [Qemu-devel] [PATCH v3 5/5] switch -drive to QemuOpts Gerd Hoffmann
2009-07-16 16:07   ` Anthony Liguori
2009-07-16 18:55     ` Gerd Hoffmann
2009-07-16 19:03       ` Anthony Liguori
2009-07-16 19:32         ` Gerd Hoffmann
2009-07-16 20:08           ` Anthony Liguori

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=4A66C040.8010204@redhat.com \
    --to=kwolf@redhat.com \
    --cc=kraxel@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 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.