qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Fwd: qemu drive mirror assert fault


From: Paolo Bonzini
Subject: Re: [Qemu-devel] Fwd: qemu drive mirror assert fault
Date: Tue, 05 May 2015 12:13:24 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0


On 05/05/2015 09:36, Fam Zheng wrote:
> Since the gdb output is suggesting 1.5.3, it's worth to trying 2.3 which has
> this:
> 
>     commit c4237dfa635900e4d1cdc6038d5efe3507f45f0c
>     Author: Vladimir Sementsov-Ogievskiy <address@hidden>
>     Date:   Thu Nov 27 12:40:46 2014 +0300
> 
>         block: fix spoiling all dirty bitmaps by mirror and migration
> 
>         Mirror and migration use dirty bitmaps for their purposes, and since
>         commit [block: per caller dirty bitmap] they use their own bitmaps, 
> not
>         the global one. But they use old functions bdrv_set_dirty and
>         bdrv_reset_dirty, which change all dirty bitmaps.
> 
>         Named dirty bitmaps series by Fam and Snow are affected: mirroring and
>         migration will spoil all (not related to this mirroring or migration)
>         named dirty bitmaps.
> 
>         This patch fixes this by adding bdrv_set_dirty_bitmap and
>         bdrv_reset_dirty_bitmap, which change concrete bitmap. Also, to 
> prevent
>         such mistakes in future, old functions bdrv_(set,reset)_dirty are made
>         static, for internal block usage.
> 
>         Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>         CC: John Snow <address@hidden>
>         CC: Fam Zheng <address@hidden>
>         CC: Denis V. Lunev <address@hidden>
>         CC: Stefan Hajnoczi <address@hidden>
>         CC: Kevin Wolf <address@hidden>
>         Reviewed-by: John Snow <address@hidden>
>         Reviewed-by: Fam Zheng <address@hidden>
>         Message-id: address@hidden
>         Signed-off-by: Max Reitz <address@hidden>

I don't think this commit is relevant.  The bug is caused by
bdrv_co_discard clearing the bitmap (which is not supported during
iteration, and is caught by the assertion).  That bdrv_reset_dirty is
not removed by the commit you pointed out.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]