[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 08/10] qed: add bdrv_post_incoming_migration
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [RFC PATCH 08/10] qed: add bdrv_post_incoming_migration operation checking the image |
Date: |
Tue, 20 Mar 2012 15:42:02 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Mar 06, 2012 at 06:32:27PM +0100, Benoît Canet wrote:
> @@ -1529,6 +1529,19 @@ static int
> bdrv_qed_change_backing_file(BlockDriverState *bs,
> return ret;
> }
>
> +static void bdrv_qed_check_if_needed(BlockDriverState *bs)
> +{
> + /* close the block device if the verification fail */
> + if (check_image_if_needed(bs)) {
> + bdrv_close(bs);
> + }
We open the image for incoming migration while the VM is still running.
That means the metadata and header can still change before migration
switchover. So we need to drop everything we know about this image and
start from scratch.
qcow2 does it like this:
qcow2_close(bs);
memset(s, 0, sizeof(BDRVQcowState));
qcow2_open(bs, flags);
We should do something similar so that the QED header is re-read. This
probably means check_image_if_needed() doesn't need to be factored out
of qed_open().
(Note that the underlying file and BlockDriverState don't get reopened,
we're simply reinitializing the QED/QCOW2 image format layer here.)
Stefan
- [Qemu-devel] [RFC PATCH 00/10] make qed and live migration usage safe, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 01/10] block: Add new BDRV_O_INCOMING flag to notice incoming live migration, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 02/10] block: add a function to set incoming live migration, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 03/10] block: add a function to clear incoming live migration, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 09/10] qed: honor BDRV_O_INCOMING for incoming live migration, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 08/10] qed: add bdrv_post_incoming_migration operation checking the image, Benoît Canet, 2012/03/06
- Re: [Qemu-devel] [RFC PATCH 08/10] qed: add bdrv_post_incoming_migration operation checking the image,
Stefan Hajnoczi <=
- [Qemu-devel] [RFC PATCH 05/10] migration: inform the block layer of incoming live status, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 07/10] qed: extract image checking into check_image_if_needed, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 10/10] qed: remove incoming live migration blocker, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 04/10] block: rename *_invalidate_cache_* to *_post_incoming_migration_*, Benoît Canet, 2012/03/06
- [Qemu-devel] [RFC PATCH 06/10] block: open images with BDRV_O_INCOMING on incoming live migration, Benoît Canet, 2012/03/06
- Re: [Qemu-devel] [RFC PATCH 00/10] make qed and live migration usage safe, Benoît Canet, 2012/03/06
- Re: [Qemu-devel] [RFC PATCH 00/10] make qed and live migration usage safe, Benoît Canet, 2012/03/16
- Re: [Qemu-devel] [RFC PATCH 00/10] make qed and live migration usage safe, Stefan Hajnoczi, 2012/03/20