qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Bruce Rogers <brogers@novell.com>,
	Markus Armbruster <armbru@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] move 'unsafe' to end of caching modes in help
Date: Mon, 26 Jul 2010 13:59:49 -0500	[thread overview]
Message-ID: <4C4DDB25.90000@codemonkey.ws> (raw)
In-Reply-To: <4C4DBDCC.8090408@redhat.com>

On 07/26/2010 11:54 AM, Avi Kivity wrote:
>>>
>>> Older versions of libvirt aren't a problem, they simply don't know 
>>> about cache=unsafe.
>>
>> Let's be clear what's happening here.  QEMU produces:
>>
>>     "       [,cache=writethrough|writeback|unsafe|none][,format=f]\n"
>>
>>
>> Which is completely reasonable from a readability perspective.  
>> Libvirt does:
>>
>>
>> qemu_conf.c:        if (strstr(help, 
>> "cache=writethrough|writeback|none"))
>>
>>
>> To detect whether QEMU supports cache in -drive.  The proposed patch 
>> makes QEMU produce:
>>
>>     "       [,cache=writethrough|writeback|none|unsafe][,format=f]\n"
>>
>> So that their strstr() call still works.
>>
>> If libvirt is going to parse -help output, they should do a better 
>> job at it.  I can't expect QEMU developers to have detailed knowledge 
>> of how libvirt parses the help output to ensure that we don't break 
>> their code.
>
> Correct.  libvirt could have done much better parsing.  qemu 
> developers are not familiar with libvirt code.  But is there a problem 
> in accepting the patch that rearranges the output?

What if another tool is parsing -help output?  Is what we are supporting 
just what libvirt expects there to be or what any tool out there expects 
there to be?

>   As far as I can tell, it's just as good for a user, and better for 
> libvirt, so there are no drawbacks to accepting the patch?

It's not.  Our help output is unreadable.  The (artificial) restrictions 
we're putting ourselves with respect to the help output prevents it from 
being improved.

>>
>> Version is entirely reliable for detecting whether -drive supports 
>> cache.
>
> It's not a reliable interface for detecting features in the face of 
> backports.

Backports are such a special case.  Honestly, we're talking about RHEL 
and it's trivially easy for libvirt to just special case RHEL.

>>>> There are very simple changes libvirt can and should make.  The fix 
>>>> to this "problem" belongs in libvirt, no QEMU.
>>>
>>> libvirt can't make retroactive changes.  Sure, it can issue an 
>>> update, but if we can help them avoid it by changing the order of 
>>> the help text, I don't see why we can't do that.
>>
>> Normally, I agree, but we've taken a lot of these over a long period 
>> of time.  The result is that libvirt hasn't gotten better at solving 
>> this problem.  Again, the vast majority of the detection that libvirt 
>> does could be done reliably and easily via version with just a few 
>> simple exceptions.
>
> I don't see what we gain by not doing this.

We're losing the ability to make *any* change to our help system by 
encouraging it to be used in this fashion.

> If you want libvirt to do the right thing, provide a proper 
> capabilities interface.  Using the version has its downsides as much 
> as the help text.

That's simply not the case.  Please, provide an actual example where 
version is not reliable and backports aren't trivially easy to detect.

Regards,

Anthony Liguori

  reply	other threads:[~2010-07-26 18:59 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-21 20:32 [Qemu-devel] [PATCH] move 'unsafe' to end of caching modes in help Bruce Rogers
2010-07-21 20:55 ` Anthony Liguori
2010-07-21 21:32   ` Daniel P. Berrange
2010-07-21 21:45     ` Anthony Liguori
2010-07-21 21:58       ` Daniel P. Berrange
2010-07-21 23:39         ` Anthony Liguori
2010-07-22  0:45           ` Jamie Lokier
2010-07-22  6:53           ` Markus Armbruster
2010-07-22  8:42           ` Daniel P. Berrange
2010-07-22 14:19             ` Anthony Liguori
2010-07-23  8:00               ` Markus Armbruster
2010-07-26 15:53                 ` Anthony Liguori
2010-07-26 16:26                   ` Avi Kivity
2010-07-26 16:29                     ` Avi Kivity
2010-07-26 19:03                       ` Anthony Liguori
2010-07-26 19:24                         ` Avi Kivity
2010-07-26 19:43                           ` [Qemu-devel] " Juan Quintela
2010-07-26 16:40                     ` [Qemu-devel] " Anthony Liguori
2010-07-26 16:54                       ` Avi Kivity
2010-07-26 18:59                         ` Anthony Liguori [this message]
2010-07-26 19:19                           ` Avi Kivity
2010-07-26 19:35                             ` Anthony Liguori
2010-07-26 19:43                               ` Avi Kivity
2010-07-26 20:03                                 ` Anthony Liguori
2010-07-27  8:11                               ` Markus Armbruster
2010-07-27  9:47                                 ` Jes Sorensen
2010-07-27 12:30                                   ` Cole Robinson
2010-07-27 12:50                                     ` Anthony Liguori
2010-07-27 13:35                                       ` Cole Robinson
2010-07-27  8:26                               ` Markus Armbruster
2010-08-03  9:43                                 ` Richard W.M. Jones
2010-07-27  8:56                   ` Kevin Wolf
2010-07-22 13:45   ` Luiz Capitulino
2010-07-27 10:26 ` Daniel P. Berrange
2010-07-27 13:11   ` Bruce Rogers

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=4C4DDB25.90000@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=brogers@novell.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).