From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=46461 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Obwcx-0000Ge-Bq for qemu-devel@nongnu.org; Thu, 22 Jul 2010 10:20:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Obwcr-0000D5-6V for qemu-devel@nongnu.org; Thu, 22 Jul 2010 10:19:59 -0400 Received: from mail-yx0-f173.google.com ([209.85.213.173]:48483) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Obwcr-0000Cw-48 for qemu-devel@nongnu.org; Thu, 22 Jul 2010 10:19:53 -0400 Received: by yxn35 with SMTP id 35so2808673yxn.4 for ; Thu, 22 Jul 2010 07:19:52 -0700 (PDT) Message-ID: <4C485383.8020904@codemonkey.ws> Date: Thu, 22 Jul 2010 09:19:47 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] move 'unsafe' to end of caching modes in help References: <4C4704FC020000480009AB6E@sinclair.provo.novell.com> <4C475EC0.2000805@codemonkey.ws> <20100721213238.GB28871@redhat.com> <4C476A8A.6000707@codemonkey.ws> <20100721215833.GC28871@redhat.com> <4C478534.2020106@codemonkey.ws> <20100722084225.GA1524@redhat.com> In-Reply-To: <20100722084225.GA1524@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: qemu-devel@nongnu.org, Bruce Rogers On 07/22/2010 03:42 AM, Daniel P. Berrange wrote: > On Wed, Jul 21, 2010 at 06:39:32PM -0500, Anthony Liguori wrote: > >> On 07/21/2010 04:58 PM, Daniel P. Berrange wrote: >> >>>> Yes there is. Use the version number. >>>> >>>> >>> The version number is not suitable, because features can be removed at >>> compile time and/or >>> >> I don't see any features that libvirt would need to know about that are >> disabled at compile time that aren't disabled by platform features (i.e. >> being on a Linux vs. Windows host) >> > SDL. libvirt executes qemu from a daemon, how does SDL come into play? Why do you need to probe whether it's supported anyway? If a user requests SDL (I assume through /session) if it fails it fails. Doesn't seem like a huge loss to me comparatively speaking. > vhost-net. > vhost-net is unconditionally displayed in the help output regardless of whether the binary supports it. You cannot assume that qemu supports vhost-net just because it says something in the help output. >>> added via patch backports. >>> >> If a distro backports a feature, it should change the QEMU version >> string. If it doesn't, that's a distro problem. >> > This puts you in the position of having to maintain an ever changing > giant compatability table between version numbers and features, which > just results in madness. > Or working with QEMU to have a better solution. We've been complaining for a long time about parsing help output and we've made changes as "temporary" stop gaps for libvirt too many times in the past. This problem needs to get fixed properly. >>> The only reliable way is >>> to query the QEMU binary to ask it what it actually supports. >>> >>> >> And you do that by asking QEMU what it's version number is. If the >> version number isn't reliable because a distro backported features >> without changing it, then the distro is broken. It's no different than >> if we had a capabilities system and a distro added a feature without >> adjusting the advertises capabilities. >> > Using version numbers simply isn't scalable / sustainable in the > long term. And parsing help output is? I'm not claiming that version numbers is a long term solution. But it's a better interim solution than parsing help output. It's time to fix this problem properly. There's been plenty of feedback that relying on help output isn't acceptable. Regards, Anthony Liguori