> > > If I reset/suspend/resume/ the VM during a backup job run I get: > > > > > > block.c:1221: bdrv_drain_all: Assertion > > > `((&bs->tracked_requests)->lh_first > > == ((void *)0))' failed. > > > Aborted > > > > > > I am not 100% sure, but I think a simple qemu_aio_wait() is not > > > enough > > > to ensure that a copy-on-write action has finished. > > > > Are you using timers in any way? > > Yes, I call co_sleep_ns(rt_clock, delay) to limit rate to output > stream.
Use block_job_sleep_ns instead, and only call it when no I/O is pending. Paolo