[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support |
Date: |
Tue, 12 Oct 2010 17:39:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100907 Fedora/3.0.7-1.fc12 Thunderbird/3.0.7 |
Am 12.10.2010 17:22, schrieb Anthony Liguori:
> On 10/12/2010 10:08 AM, Kevin Wolf wrote:
>> Otherwise we might destroy data that isn't
>> even touched by the guest request in case of a crash.
>>
>
> The failure scenarios are either that the cluster is leaked in which
> case, the old version of the data is still present or the cluster is
> orphaned because the L2 entry is written, in which case the old version
> of the data is present.
Hm, how does the latter case work? Or rather, what do mean by "orphaned"?
> Are you referring to a scenario where the cluster is partially written
> because the data is present in the write cache and the write cache isn't
> flushed on power failure?
The case I'm referring to is a COW. So let's assume a partial write to
an unallocated cluster, we then need to do a COW in pre/postfill. Then
we do a normal write and link the new cluster in the L2 table.
Assume that the write to the L2 table is already on the disk, but the
pre/postfill data isn't yet. At this point we have a bad state because
if we crash now we have lost the data that should have been copied from
the backing file.
If we can't guarantee that a new cluster is all zeros, the same happens
without a backing file. So as soon as we start reusing freed clusters,
we get this case for all QED images.
Kevin
- [Qemu-devel] [PATCH v2 4/7] qed: Add QEMU Enhanced Disk image format, (continued)
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Kevin Wolf, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support,
Kevin Wolf <=
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Kevin Wolf, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/13