On 08/04/2016 12:06, Stefan Hajnoczi wrote: > On Tue, Apr 05, 2016 at 07:20:51PM +0800, Fam Zheng wrote: >> See patch 1 for the bug analysis. >> >> v3: Make bdrv_co_drain a public function and use it directly in >> block/mirror.c. >> [Stefan] >> >> >> >> Fam Zheng (2): >> block: Fix bdrv_drain in coroutine >> mirror: Replace bdrv_drain(bs) with bdrv_co_drain(bs) >> >> block/io.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ >> block/mirror.c | 2 +- >> include/block/block.h | 1 + >> 3 files changed, 47 insertions(+), 1 deletion(-) >> >> -- >> 2.7.4 > > Thanks, applied to my block tree: > https://github.com/stefanha/qemu/commits/block
FWIW, I've now rebased my bdrv_drain patches on top of this, and the need for the extra bottom half is gone! This is a much better solution for that other problem with mirror.c. Paolo