qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/3] -readconfig: accept fd=<fd> option (v2)
Date: Mon, 19 Mar 2012 11:45:00 -0500	[thread overview]
Message-ID: <4F67628C.8090509@codemonkey.ws> (raw)
In-Reply-To: <20120319163910.GK9375@otherpad.lan.raisama.net>

On 03/19/2012 11:39 AM, Eduardo Habkost wrote:
> On Mon, Mar 19, 2012 at 11:21:07AM -0500, Anthony Liguori wrote:
>> On 03/19/2012 11:06 AM, Eduardo Habkost wrote:
>>> On Mon, Mar 19, 2012 at 10:39:10AM -0500, Anthony Liguori wrote:
>>>> On 03/19/2012 10:37 AM, Eduardo Habkost wrote:
>>>>> On Mon, Mar 19, 2012 at 10:10:27AM -0500, Anthony Liguori wrote:
>>>>>> On 03/19/2012 09:54 AM, Eduardo Habkost wrote:
>>>>>>> This is a resubmit of a previous series I sent as a RFC, with some changes to
>>>>>>> prepare for an upcoming patch that will make additional changes to the default
>>>>>>> config-file loading code.
>>>>>>>
>>>>>>> This series needs be applied on top of the "./configure --confdir" series I
>>>>>>> sent today.
>>>>>>
>>>>>> Why not just use /dev/fd/N  ?
>>>>>
>>>>> Personally, I don't like filenames with special meanings (as not every
>>>>> OS has /dev/fd we would have to treat them specially), or filenames that
>>>>> become non-extensible mini-languages by themselves. Many other
>>>>> command-line options use the key=value syntax, and some already have an
>>>>> "fd" option, so this just follows the convention.
>>>>
>>>> But you're also breaking compat, which is not something to be done lightly.
>>>
>>> True. In that case, I propose adding a "-config" option that is more
>>> extensible than the current one, instead of defining a new mini-language
>>> for -readconfig that looks like a file path but has hidden complexities
>>> behind it.
>>
>> What?  /dev/fd is a pretty standard unix feature.  It'll work today
>> with existing versions of QEMU.
>
> When I replied, I was thinking of this proposal:
> http://marc.info/?l=qemu-devel&m=133076148831720
> If you are proposing having zero special-case code to Qemu because of
> /dev/fd, it's OK to me.
>
>>>>> Also, this is more extensible to allow more options to be added to
>>>>> -readconfig if needed (for example: debugging options, or the
>>>>> help=defconfig option I added on the RFC series I sent after this one).
>>>>
>>>> I'd personally prefer to keep readconfig simple.  See the series I
>>>> sent out as an RFC.
>>>
>>> If you are supporting FDs, the complexity is already there. Using the
>>> key=value format just makes the complexity explicit (and familiar, for
>>> humans and code that already uses key=value for other options) instead
>>> of hiding it behind magic filenames.
>>>
>>> I still have to take a look at your series.
>>
>> I think there are cases where /dev/fd doesn't make any sense as an
>> interface (like tun/tap) because tun/tap doesn't have normal file
>> semantics.
>>
>> Likewise, block devices don't act like normal files so you need to
>> treat fd differently than you treat a file path.
>>
>> But for something like the BIOS file, config files, kernels, etc,
>> they are all just simple files and instead of making everything take
>> a fd:, we can (and should) just use the existing unix mechanism for
>> this.
>
> OK to me, if that doesn't require code to handle "/dev/fd/" as special
> inside Qemu, but just use what the OS provides. I am just against making
> magic filenames special.
>
> I was still considering adding a key=value interface for -readconfig (or
> an equivalent -config parameter) because of the debugging and probing
> options I would like to add, but those options could be enabled/disabled
> somewhere else, so there wouldn't be a strong reason for it anymore.
>
> On the other hand, I:
>
> - Would like to let the user (a human) list where are the default config
>    files being used by Qemu;

This should be provided via a QMP command and as part of -query-capabilities 
(see previous series).

Regards,

Anthony Liguori

  reply	other threads:[~2012-03-19 16:45 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-19 14:54 [Qemu-devel] [PATCH 0/3] -readconfig: accept fd=<fd> option (v2) Eduardo Habkost
2012-03-19 14:54 ` [Qemu-devel] [PATCH 1/3] qemu-config.h: include qemu-option.h Eduardo Habkost
2012-03-19 14:54 ` [Qemu-devel] [PATCH 2/3] -readconfig: use QemuOpts option format (v2) Eduardo Habkost
2012-03-19 14:54 ` [Qemu-devel] [PATCH 3/3] -readconfig: accept fd=<fd> option (v2) Eduardo Habkost
2012-03-19 15:10 ` [Qemu-devel] [PATCH 0/3] " Anthony Liguori
2012-03-19 15:37   ` Eduardo Habkost
2012-03-19 15:39     ` Anthony Liguori
2012-03-19 16:06       ` Eduardo Habkost
2012-03-19 16:21         ` Anthony Liguori
2012-03-19 16:39           ` Eduardo Habkost
2012-03-19 16:45             ` Anthony Liguori [this message]
2012-03-19 16:51               ` Eduardo Habkost
2012-03-19 16:55                 ` 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=4F67628C.8090509@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=ehabkost@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).