Hi, > 2. missing virConnectPtr during autostart of the vm: > > in src/qemu_driver.c:145, qemudAutostartConfigs() you can find this call: > int ret = qemudStartVMDaemon(NULL, driver, vm, NULL); > > This means virConnectPtr conn is NULL within qemudStartVMDaemon(). > Following the calls: > qemudStartVMDaemon() > -> qemudBuildCommandLine() > -> qemudNetworkIfaceConnect() > -> virNetworkLookupByName() > > virNetworkLookupByName bails out if called with invalid virConnectPtr. This > means starting this vm fails. I came up with the attached patch to fix this for me, but a) I'm not sure if it is a clean use of the api to call virConnectOpen() from within a state-initializer function b) This is just for qemu/kvm, I haven't looked at any other drivers It would be nice if an experienced libvirt-developer could take a look at this. Thank you very much. Kind regards, Gerd diff -r -u libvirt-0.5.0.orig/src/qemu_driver.c libvirt-0.5.0/src/qemu_driver.c --- libvirt-0.5.0.orig/src/qemu_driver.c 2008-11-21 13:47:32.000000000 +0100 +++ libvirt-0.5.0/src/qemu_driver.c 2008-12-01 01:49:16.000000000 +0100 @@ -138,11 +138,14 @@ qemudAutostartConfigs(struct qemud_driver *driver) { unsigned int i; + /* we need a valid virConnectPtr for qemudStartVMDaemon to be able to connect to other drivers */ + virConnectPtr conn=virConnectOpen(getuid() ? "qemu:///session" : "qemu:///system"); + for (i = 0 ; i < driver->domains.count ; i++) { virDomainObjPtr vm = driver->domains.objs[i]; if (vm->autostart && !virDomainIsActive(vm)) { - int ret = qemudStartVMDaemon(NULL, driver, vm, NULL); + int ret = qemudStartVMDaemon(conn, driver, vm, NULL); if (ret < 0) { virErrorPtr err = virGetLastError(); qemudLog(QEMUD_ERR, _("Failed to autostart VM '%s': %s\n"), @@ -154,6 +157,8 @@ } } } + + virConnectClose(conn); } /** -- Address (better: trap) for people I really don't want to get mail from: james@xxxxxxxxxxxxxxxxx -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list