[libvirt] [PATCH] qemudDomainCreate check if domain is already active
Daniel P. Berrange
berrange at redhat.com
Thu Jul 24 09:01:32 UTC 2008
On Thu, Jul 24, 2008 at 12:49:13AM -0400, Guido G?nther wrote:
> Hi,
> currently virsh create foo.xml overwrites running domains. In case of
> qemu this leaves detached qemu processes around and the domain creation
> fails later on being unable to start other domains afterwards - not
> nice.
> Attached patch checks if we already have a running domain by that name
> and in this case refuses to create a new domain from xml by that name.
>
> Probably this check needs to be pushed further upward since this might
> affect other hypervisors too, haven't checked that though.
Actually, in Xen case, XenD itself will do the checking.
> [PATCH] qemudDomainCreate: check if domain is already active
>
> otherwise we overwrite a running domain which lets libvirtd disconnect
> from the running qemu.
> ---
> src/qemu_driver.c | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/src/qemu_driver.c b/src/qemu_driver.c
> index b84bdf4..0ad72ae 100644
> --- a/src/qemu_driver.c
> +++ b/src/qemu_driver.c
> @@ -1978,6 +1978,15 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
> if (!(def = virDomainDefParseString(conn, driver->caps, xml)))
> return NULL;
>
> + vm = virDomainFindByName(driver->domains, def->name);
You need to check for UUID clash too.
Regards,
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list