Fix persistent migration config save

When a user migrates a domain by command as

libvirt saves vm's domain XML config in destination host after migration.
But it saves vm->def. Then, the saved XML contains some garbage.

  <domain type='kvm' id='50'>
                     ^^^^^^^^
  ...
   <console type='pty' tty='/dev/pts/5'>
                       ^^^^^^^^^^^^^^^^^

Avoid saving unnecessary things by saving persistent vm definition.
This commit is contained in:
KAMEZAWA Hiroyuki 2011-08-26 12:08:11 +09:00 committed by Eric Blake
parent 22d744d0c7
commit 709b4c500d

View File

@ -2487,11 +2487,12 @@ qemuMigrationFinish(struct qemud_driver *driver,
qemuMigrationVPAssociatePortProfiles(vm->def);
if (flags & VIR_MIGRATE_PERSIST_DEST) {
virDomainDefPtr vmdef;
if (vm->persistent)
newVM = 0;
vm->persistent = 1;
if (virDomainSaveConfig(driver->configDir, vm->def) < 0) {
vmdef = virDomainObjGetPersistentDef(driver->caps, vm);
if (virDomainSaveConfig(driver->configDir, vmdef) < 0) {
/* Hmpf. Migration was successful, but making it persistent
* was not. If we report successful, then when this domain
* shuts down, management tools are in for a surprise. On the