[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/1] migration/block: fix pending() return va
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2 1/1] migration/block: fix pending() return value |
Date: |
Fri, 2 Jan 2015 16:23:08 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Dec 30, 2014 at 01:04:16PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Because of wrong return value of .save_live_pending() in
> migration/block.c, migration finishes before the whole disk is
> transferred. Such situation occurs when the migration process is fast
> enough, for example when source and dest are on the same host.
>
> If in the bulk phase we return something < max_size, we will skip
> transferring the tail of the device. Currently we have "set pending to
> BLOCK_SIZE if it is zero" for bulk phase, but there no guarantee, that
> it will be < max_size.
>
> True approach is to return, for example, max_size+1 when we are in the
> bulk phase.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> migration/block.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Yikes, this is a nasty bug. CCing qemu-stable.
Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block
Stefan
pgpckD7auQKkx.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 1/1] migration/block: fix pending() return value,
Stefan Hajnoczi <=