qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Ján Tomko" <jtomko@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	libvir-list@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC] qcow3 format in libvirt
Date: Mon, 11 Mar 2013 19:03:31 +0100	[thread overview]
Message-ID: <513E1C73.8010403@redhat.com> (raw)
In-Reply-To: <20130304154010.GG3929@dhcp-200-207.str.redhat.com>

On 03/04/2013 04:40 PM, Kevin Wolf wrote:
> Am 04.03.2013 um 16:19 hat Daniel P. Berrange geschrieben:
>> On Mon, Mar 04, 2013 at 04:05:50PM +0100, Kevin Wolf wrote:
>>>
>>> I'm not talking about the QEMU cli, but about qcow2 as the format as
>>> defined in the spec (which just happens to sit in qemu.git, but isn't
>>> qemu specific at all)
>>
>> So you're saying that you consider the format name to be "qcow2" regardless
>> of whether the version numer field is specified as 2 or 3.
> 
> Yes.
>
>> So in other words, if an application came along and required libvirt to
>> set  format=qcow3 on its CLI, we could justifiably refuse to do that in
>> libvirt claiming this is not in compliance with the spec ?
> 
> No, you would just check which features this image uses (which, if I
> understood correctly, you need to save anyway), and if a version 3
> feature is among it (the basic version 3 could be represented by either
> a "feature flags" or "zero clusters" feature, which are what version 3
> really means), pass it the 'qcow3' command line option it wants.
> 

Since libvirt needs to know the feature names, I doesn't seem to be a
problem to know what compat options they need. And the empty (but
present) <features> element could just mean compat=1.1. Would we still
need to support creating compat=0.10 images with older qemu-img not
understanding this option after the default gets changed in the current
version?

> Of course, I would be disappointed that the tool thought it had to
> invent format names, but it's not really blocking any functionality.
> 
> Just the same way it could happen that a tool uses different drivers for
> other features that we introduce. For example, imagine that we introduce
> a flag that modifies the L2 table structure to allow subclusters - a
> change that we've been discussing before and that would have a massive
> impact on the implementation, even though it's only a feature flag that
> has changed, and not the version number. Using a different driver for
> this looks much more likely than a different driver for version 2 and 3,
> which was really a quite small step.

So, the format and the driver is still 'qcow2' now, there's no need to
translate anything at the moment (apart from features->options when
creating the image).

But if the same 'qcow2' format would need different drivers based on the
features, we need to use different set of values for driver types and
image formats, if the features would not be in the domain XML.

> 
> So the main problem that I see is the assumption "different version =>
> big change, new feature flag => small change" and as a conclusion from
> that "different version => possibly new driver, new feature flag =>
> definitely only old driver". This isn't true at all.
> 
> Kevin
> 

  reply	other threads:[~2013-03-11 18:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-04 12:58 [Qemu-devel] [RFC] qcow3 format in libvirt Ján Tomko
2013-03-04 13:09 ` Daniel P. Berrange
2013-03-04 14:04   ` Kevin Wolf
2013-03-04 14:27     ` Daniel P. Berrange
2013-03-04 14:38       ` Kevin Wolf
2013-03-04 14:46         ` Daniel P. Berrange
2013-03-04 15:05           ` Kevin Wolf
2013-03-04 15:19             ` Daniel P. Berrange
2013-03-04 15:40               ` Kevin Wolf
2013-03-11 18:03                 ` Ján Tomko [this message]
2013-03-12  8:46                   ` Kevin Wolf

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=513E1C73.8010403@redhat.com \
    --to=jtomko@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=libvir-list@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).