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 <vsement...@parallels.com>
>     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 <vsement...@parallels.com>
>         CC: John Snow <js...@redhat.com>
>         CC: Fam Zheng <f...@redhat.com>
>         CC: Denis V. Lunev <d...@openvz.org>
>         CC: Stefan Hajnoczi <stefa...@redhat.com>
>         CC: Kevin Wolf <kw...@redhat.com>
>         Reviewed-by: John Snow <js...@redhat.com>
>         Reviewed-by: Fam Zheng <f...@redhat.com>
>         Message-id: 1417081246-3593-1-git-send-email-vsement...@parallels.com
>         Signed-off-by: Max Reitz <mre...@redhat.com>

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