From: Kevin Wolf <kwolf@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: ctang@us.ibm.com, avi@redhat.com, hch@lst.de,
Frediano Ziglio <freddy77@gmail.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH v2] Specification for qcow2 version 3
Date: Wed, 12 Oct 2011 16:58:48 +0200 [thread overview]
Message-ID: <4E95AB28.5090106@redhat.com> (raw)
In-Reply-To: <CAJSP0QWeP+M5UBULK3Swr0K37cBbZ5+PqV75zgBVtH=mb0yhcQ@mail.gmail.com>
Am 12.10.2011 16:37, schrieb Stefan Hajnoczi:
> On Wed, Oct 12, 2011 at 2:31 PM, Kevin Wolf <kwolf@redhat.com> wrote:
>> Am 12.10.2011 14:51, schrieb Stefan Hajnoczi:
>>>> Also a bit in l2 offset to say "there is no l2 table" cause all
>>>> clusters in l2 are contiguous so we avoid entirely l2. Obviously this
>>>> require an optimization step to detect or create such condition.
>>>
>>> There are several reserved L1 entry bits which could be used to mark
>>> this mode. This mode severely restricts qcow2 features though: how
>>> would snapshots and COW work? Perhaps by breaking the huge cluster
>>> back into an L2 table with individual clusters? Backing files also
>>> cannot be used - unless we extend the sub-clusters approach and also
>>> keep a large bitmap with allocated/unallocated/zero information.
>>>
>>> A mode like this could be used for best performance on local storage,
>>> where efficiently image transport (e.g. scp or http) is not required.
>>> Actually I think this is reasonable, we could use qemu-img convert to
>>> produce a compact qcow2 for export and use the L2-less qcow2 for
>>> running the actual VM.
>>>
>>> Kevin: what do you think about fleshing out this mode instead of sub-clusters?
>>
>> I'm hesitant to something like this as it adds quite some complexity and
>> I'm not sure if there are practical use cases for it at all.
>>
>> If you take the current cluster sizes, an L2 table contains 512 MB of
>> data, so you would lose any sparseness. You would probably already get
>> full allocation just by creating a file system on the image.
>>
>> But even if you do have a use case where sparseness doesn't matter, the
>> effect is very much the same as allowing a 512 MB cluster size and not
>> changing any of the qcow2 internals.
>
> I guess I'm thinking of the 512 MB cluster size situation, because
> we'd definitely want a cow bitmap in order to keep backing files and
> sparseness.
>
>> (What would the use case be? Backing files or snapshots with a COW
>> granularity of 512 MB isn't going to fly. That leaves only something
>> like encryption.)
>
> COW granularity needs to stay at 64-256 kb since those are reasonable
> request sizes for COW.
But how do you do that without L2 tables? What you're describing
(different sizes for allocation and COW) is exactly what subclusters are
doing. I can't see how switching to 512 MB clusters and a single-level
table can make that work.
Kevin
next prev parent reply other threads:[~2011-10-12 14:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-27 15:11 [Qemu-devel] [RFC PATCH v2] Specification for qcow2 version 3 Kevin Wolf
2011-06-28 9:38 ` Frediano Ziglio
2011-10-12 12:51 ` Stefan Hajnoczi
2011-10-12 13:31 ` Kevin Wolf
2011-10-12 14:37 ` Stefan Hajnoczi
2011-10-12 14:58 ` Kevin Wolf [this message]
2011-10-13 14:43 ` Stefan Hajnoczi
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=4E95AB28.5090106@redhat.com \
--to=kwolf@redhat.com \
--cc=avi@redhat.com \
--cc=ctang@us.ibm.com \
--cc=freddy77@gmail.com \
--cc=hch@lst.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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 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.