On Wed, Oct 27, 2010 at 4:52 PM, Kevin Wolf <kw...@redhat.com> wrote:
> Am 22.10.2010 16:56, schrieb Stefan Hajnoczi:
>> This patch adds support for the qemu-img check command.  It also
>> introduces a dirty bit in the qed header to mark modified images as
>> needing a check.  This bit is cleared when the image file is closed
>> cleanly.
>>
>> If an image file is opened and it has the dirty bit set, a consistency
>> check will run and try to fix corrupted table offsets.  These
>> corruptions may occur if there is power loss while an allocating write
>> is performed.  Once the image is fixed it opens as normal again.
>>
>> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com>
>
> Hm, do I understand right that you fix the image and reset the dirty
> flag in the header during bdrv_open? So how does this work with
> migration, when the destination host opens the QED file before the
> source closes it? Doesn't the destination destroy the image by "fixing" it?
>
> And even if that wasn't the case, clearing the flag means that the
> source might do new writes and thinks that the flag is still set. If the
> source crashes now, we may need a consistency check, but the dirty flag
> isn't set any more.
>
> Am I missing some detail?

You're right, migration is not supported.  This is also true for the
other image formats which cache metadata in memory though.

I am actually looking into migration next together with Adam Litke who
has already started.  We'll have to defer accessing the file until the
source has flushed/closed it.

Stefan

Reply via email to