From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Chunqiang Tang <ctang@us.ibm.com>,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: Strategic decision: COW format
Date: Fri, 18 Feb 2011 08:20:33 -0600 [thread overview]
Message-ID: <4D5E8031.5020402@codemonkey.ws> (raw)
In-Reply-To: <4D5E4271.80501@redhat.com>
On 02/18/2011 03:57 AM, Kevin Wolf wrote:
> Am 18.02.2011 10:12, schrieb Markus Armbruster:
>
>> Kevin Wolf<kwolf@redhat.com> writes:
>>
>>
>>> Am 15.02.2011 20:45, schrieb Chunqiang Tang:
>>>
>>>>> Chunqiang Tang/Watson/IBM wrote on 01/28/2011 05:13:27 PM:
>>>>> As you requested, I set up a wiki page for FVD at
>>>>>
>>>> http://wiki.qemu.org/Features/FVD
>>>>
>>>>> . It includes a summary of FVD, a detailed specification of FVD, and a
>>>>> comparison of the design and performance of FVD and QED.
>>>>>
>>>>
>>>>> See the figure at http://wiki.qemu.org/Features/FVD/Compare . This
>>>>>
>>>> figure
>>>>
>>>>> shows that the file creation throughput of NetApp's PostMark benchmark
>>>>>
>>>> under
>>>>
>>>>> FVD is 74.9% to 215% higher than that under QED.
>>>>>
>>>> Hi Anthony,
>>>>
>>>> Please let me know if more information is needed. I would appreciate your
>>>> feedback and advice on the best way to proceed with FVD.
>>>>
>>> Yet another file format with yet another implementation is definitely
>>> not what we need. We should probably take some of the ideas in FVD and
>>> consider them for qcow3.
>>>
>> Got an assumption there: that the one COW format we need must be qcow3,
>> i.e. an evolution of qcow2. Needs to be justified. If that discussion
>> has happened on the list already, I missed it. If not, it's overdue,
>> and then we better start it right away.
>>
> Right. I probably wasn't very clear about what I mean with qcow3 either,
> so let me try to summarize my reasoning.
>
>
> The first point is an assumption that you made, too: That we want to
> have only one format. I hope it's easy to agree on this, duplication is
> bad and every additional format creates new maintenance burden,
> especially if we're taking it serious. Until now, there were exactly two
> formats for which we managed to do this, raw and qcow2. raw is more or
> less for free, so with the introduction of another format, we basically
> double the supported block driver code overnight (while not doubling the
> number of developers).
>
Not sure what project you're following, but we've had an awful lot of
formats before qcow2 :-)
And qcow2 was never all that special, it just was dropped in the code
base one day. You've put a lot of work into qcow2, but there are other
folks that are contributing additional formats and that means more
developers.
> The consequence of having only one file format is that it must be able
> to obsolete the existing ones, most notably qcow2. We can only neglect
> qcow1 today because we can tell users to use qcow2. It supports
> everything that qcow1 supports and more. We couldn't have done this if
> qcow2 lacked features compared to qcow1.
>
> So the one really essential requirement that I see is that we provide a
> way forward for _all_ users by maintaining all of qcow2's features. This
> is the only way of getting people to not stay with qcow2.
>
>
> Of course, you could invent another format that implements the same
> features, but I think just carefully extending qcow2 has some real
> advantages.
>
> The first is that conversion of existing images would be really easy.
> Basically increment the version number in the header file and you're
> done. Structures would be compatible.
qemu-img convert is a reasonable path for conversion.
> If you compare it to file systems,
> I rarely ever change the file system on a non-empty partition. Even if I
> wanted, it's usually just too painful. Except when I was able to use
> "tune2fs -j" to make ext3 out of ext2, that was really easy. We can
> provide the same for qcow2 to qcow3 conversion, but not with a
> completely new format.
>
> Also, while obsoleting a file format means that we need not put much
> effort in its maintenance, we still need to keep the code around for
> reading old images. With an extension of qcow2, it would be the same
> code that is used for both versions.
>
> Third, qcow2 already exists, is used in practice and we have put quite
> some effort into QA. At least initially confidence would be higher than
> in a completely new, yet untested format. Remember that with qcow3 I'm
> not talking about rewriting everything, it's a careful evolution, mostly
> with optional additions here and there.
>
My requirements for a new format are as followed:
1) documented, thought-out specification that is covered under and open
license with a clear process for extension.
2) ability to add both compatible and incompatible features in a
graceful way
3) ability to achieve performance that's close to raw. I want our new
format to be able to be used universally both for servers and desktops.
I think qcow2 has some misfeatures like compression and internal
snapshots. I think preserving those misfeatures is a mistake because I
don't think we can satisfy the above while trying to preserve those
features. If the image format degrades when those features are enabled,
then it decreases confidence in the format.
I think QED satisfies all of these today.
Regards,
Anthony Liguori
> Kevin
>
>
next prev parent reply other threads:[~2011-02-18 14:20 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <OF3C9DAE9F.EC6B5878-ON85257826.00715C10-85257826.007A14FB@LocalDomain>
2011-02-15 19:45 ` [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED Chunqiang Tang
2011-02-16 12:34 ` Kevin Wolf
2011-02-17 16:04 ` Chunqiang Tang
2011-02-18 9:12 ` Strategic decision: COW format (was: [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED) Markus Armbruster
2011-02-18 9:57 ` [Qemu-devel] Re: Strategic decision: COW format Kevin Wolf
2011-02-18 14:20 ` Anthony Liguori [this message]
2011-02-22 8:37 ` Markus Armbruster
2011-02-22 8:56 ` Kevin Wolf
2011-02-22 10:21 ` Markus Armbruster
2011-02-22 15:57 ` Anthony Liguori
2011-02-22 16:15 ` Kevin Wolf
2011-02-22 18:18 ` Anthony Liguori
2011-02-23 9:13 ` Kevin Wolf
2011-02-23 14:21 ` Anthony Liguori
2011-02-23 14:55 ` Kevin Wolf
2011-02-23 13:43 ` Avi Kivity
2011-02-23 14:23 ` Anthony Liguori
2011-02-23 14:38 ` Kevin Wolf
2011-02-23 15:29 ` Anthony Liguori
2011-02-23 15:36 ` Avi Kivity
2011-02-23 15:47 ` Anthony Liguori
2011-02-23 15:59 ` Avi Kivity
2011-02-23 15:54 ` Kevin Wolf
2011-02-23 15:23 ` Avi Kivity
2011-02-23 15:31 ` Anthony Liguori
2011-02-23 15:37 ` Avi Kivity
2011-02-23 15:50 ` Anthony Liguori
2011-02-23 16:03 ` Avi Kivity
2011-02-23 16:04 ` Anthony Liguori
2011-02-23 16:15 ` Kevin Wolf
2011-02-25 11:20 ` Pavel Dovgaluk
[not found] ` <-1737654525499315352@unknownmsgid>
2011-02-25 13:22 ` Stefan Hajnoczi
2011-02-23 15:52 ` Anthony Liguori
2011-02-23 15:59 ` Gleb Natapov
2011-02-23 16:00 ` Avi Kivity
2011-02-23 15:33 ` Daniel P. Berrange
2011-02-23 15:38 ` Avi Kivity
2011-02-18 17:43 ` Stefan Weil
2011-02-18 19:11 ` Kevin Wolf
2011-02-18 19:47 ` Anthony Liguori
2011-02-18 20:49 ` Kevin Wolf
2011-02-18 20:50 ` Anthony Liguori
2011-02-18 21:27 ` Kevin Wolf
2011-02-19 17:19 ` Stefan Hajnoczi
2011-02-18 20:31 ` Anthony Liguori
2011-02-19 12:27 ` [Qemu-devel] Bugs in the VDI Block Device Driver Chunqiang Tang
2011-02-19 16:21 ` Stefan Hajnoczi
2011-02-19 18:49 ` Stefan Weil
2011-02-20 22:13 ` [Qemu-devel] Re: Strategic decision: COW format Aurelien Jarno
2011-02-21 8:59 ` Kevin Wolf
2011-02-21 13:44 ` Stefan Hajnoczi
2011-02-21 14:10 ` Kevin Wolf
2011-02-21 15:16 ` Anthony Liguori
2011-02-21 15:26 ` Kevin Wolf
2011-02-23 3:32 ` Chunqiang Tang
2011-02-23 13:20 ` Markus Armbruster
[not found] ` <OFAEB4CD91.BE989F29-ON8525783F.007366B8-85257840.00130B47@LocalDomain>
2011-03-13 5:51 ` Chunqiang Tang
2011-03-13 17:48 ` Anthony Liguori
2011-03-14 2:28 ` Chunqiang Tang
2011-03-14 13:22 ` Anthony Liguori
2011-03-14 13:53 ` Chunqiang Tang
2011-03-14 14:02 ` Anthony Liguori
2011-03-14 14:21 ` Kevin Wolf
2011-03-14 14:35 ` Chunqiang Tang
2011-03-14 14:49 ` Anthony Liguori
2011-03-14 15:05 ` Stefan Hajnoczi
2011-03-14 15:08 ` Kevin Wolf
2011-03-14 14:26 ` Stefan Hajnoczi
2011-03-14 14:30 ` Chunqiang Tang
2011-03-14 14:15 ` Kevin Wolf
2011-03-14 14:25 ` Chunqiang Tang
2011-03-14 14:31 ` Stefan Hajnoczi
2011-03-14 16:32 ` Chunqiang Tang
2011-03-14 17:57 ` Kevin Wolf
2011-03-14 19:23 ` Chunqiang Tang
2011-03-14 20:16 ` Kevin Wolf
[not found] ` <OF7C2FDD40.E76A4E14-ON85257853.005ADD68-85257853.005AF16E@LocalDomain>
2011-03-14 21:32 ` Chunqiang Tang
2011-03-14 14:34 ` Kevin Wolf
2011-03-14 14:47 ` Anthony Liguori
2011-03-14 15:03 ` Kevin Wolf
2011-03-14 15:13 ` Anthony Liguori
2011-03-14 15:04 ` Chunqiang Tang
2011-03-14 15:07 ` Stefan Hajnoczi
2011-03-14 10:12 ` Kevin Wolf
2011-02-22 8:40 ` Markus Armbruster
2011-02-16 13:21 ` [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED Stefan Hajnoczi
2011-02-17 16:04 ` Chunqiang Tang
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=4D5E8031.5020402@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=ctang@us.ibm.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
/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).