From: Shanzhi Yu Date: Wed, 3 Dec 2014 11:12:35 +0000 (+0800) Subject: qemu: snapshot: Forbid internal snapshot with passthrough devices X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d1e460136a8ad1ce7717d2d75cd878812f63f1bb;p=libvirt.git qemu: snapshot: Forbid internal snapshot with passthrough devices When attempting to create internal system checkpoint with a passthrough device qemu will report the following error: error: operation failed: Error -22 while writing VM This patch calls the function to check if migration is possible with given VM and thus improves the error to: error: Requested operation is not valid: domain has assigned non-USB host devices Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=874418#c19 Signed-off-by: Peter Krempa --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b9935e4a7a..9152cf5e95 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -12885,6 +12885,9 @@ qemuDomainSnapshotCreateActiveInternal(virConnectPtr conn, bool resume = false; int ret = -1; + if (!qemuMigrationIsAllowed(driver, vm, vm->def, false, false)) + goto cleanup; + if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) { /* savevm monitor command pauses the domain emitting an event which * confuses libvirt since it's not notified when qemu resumes the