Thanks for your reply, I have read the thread in your email, what's the
mean of 'switching from old to new disk', could give a detail description?
The test case was like that (using libvirt):
1. Get VM running (linux, using kvmclock),
2. Use blockcopy to copy disk data from one location to another,
3. Issue blockjob --pivot (to finish mirroring)
From what I remember, at point 3, VM is momentarily paused and resumed,
so kvm state change handler is called twice. Without this patch, the VM
hanged because its time goes backwards (or qemu crashed if assertion was
not compiled out).
--
mg