On Sun, Jun 27, 2010 at 10:07:00PM +0900, Ryota Ozaki wrote: > Because tty path is unexpectedly not saved in the live configuration > file of a domain, libvirtd cannot get the console of the domain back > after restarting. > > The reason why the tty path isn't saved is that, to save the tty path, > the save function, virDomainSaveConfig, requires that the target domain > is running (pid != -1), however, lxc driver calls the function before > starting the domain to pass the configuration to controller. > > To ensure to save the tty path, the patch lets lxc driver call the save > function again after starting the domain. > --- > src/lxc/lxc_driver.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c > index 19d4dcb..462bc9c 100644 > --- a/src/lxc/lxc_driver.c > +++ b/src/lxc/lxc_driver.c > @@ -1284,7 +1284,7 @@ static int lxcVmStart(virConnectPtr conn, > if (lxcSetupInterfaces(conn, vm->def, &nveths, &veths) != 0) > goto cleanup; > > - /* Persist the live configuration now we have veth & tty info */ > + /* Save the configuration for the controller */ > if (virDomainSaveConfig(driver->stateDir, vm->def) < 0) > goto cleanup; > > @@ -1328,6 +1328,13 @@ static int lxcVmStart(virConnectPtr conn, > goto cleanup; > } > > + /* > + * Again, need to save the live configuration, because the function > + * requires vm->def->id != -1 to save tty info surely. > + */ > + if (virDomainSaveConfig(driver->stateDir, vm->def) < 0) > + goto cleanup; > + > rc = 0; > ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list