Kevin Wolf d2da5e288a mirror: Keep mirror_top_bs drained after dropping permissions
mirror_top_bs is currently implicitly drained through its connection to
the source or the target node. However, the drain section for target_bs
ends early after moving mirror_top_bs from src to target_bs, so that
requests can already be restarted while mirror_top_bs is still present
in the chain, but has dropped all permissions and therefore runs into an
assertion failure like this:

    qemu-system-x86_64: block/io.c:1634: bdrv_co_write_req_prepare:
    Assertion `child->perm & BLK_PERM_WRITE' failed.

Keep mirror_top_bs drained until all graph changes have completed.

Cc: qemu-stable@nongnu.org
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2019-08-16 10:25:16 +02:00
..
2019-07-15 15:48:40 +02:00
2018-08-31 16:28:33 +02:00
2019-07-19 13:19:18 -05:00
2019-06-04 15:22:22 +02:00
2018-02-09 05:05:11 +01:00
2019-05-28 20:30:55 +02:00
2019-06-24 16:01:04 +02:00
2019-06-04 15:22:22 +02:00
2019-06-04 15:22:22 +02:00
2019-06-04 15:22:22 +02:00