qemu-kvm: do not allow vcpu stop with in progress PIO

Marcelo Tosatti
2010-02-09T20:58:24Z

You're right... this should be enough to avoid a stop with uncomplete
PIO (and this is what happens for MMIO already). The signal will not
be dequeued, so KVM will complete_pio and exit before entering with
-EAGAIN. Please review and queue for stable.

qemu upstream needs a bit more work.

-------

Re-enter the kernel to complete in progress PIO. Otherwise the
operation can be lost during migration.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

Index: qemu-kvm/qemu-kvm.c
===================================================================
--- qemu-kvm.orig/qemu-kvm.c
+++ qemu-kvm/qemu-kvm.c
@@ -967,6 +967,7 @@ int kvm_run(CPUState *env)
run->io.direction,
run->io.size,
run->io.count);
+ r = 0;
break;
case KVM_EXIT_DEBUG:
r = handle_debug(env);