All of lore.kernel.org
 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 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.