On Fri, 04/22 14:35, Fam Zheng wrote: > As a bandage, this patch undoes the change of 5a7e7a0bad17 in > non-dataplane case, and calls mirror_replace directly in mirror_run.
mirror_exit minus mirror_replace was kept in the BH because it's not safe to call in coroutine. After discussing with kwolf on IRC, now it turns out that mirror_replace isn't either, due to the bdrv_drain_all in bdrv_reopen. So, NACK The only feasible fix for 2.6 is with the previous direction, but we need is_external check added to the main loop. Patches are being worked on. Fam