]> git.ipfire.org Git - thirdparty/libvirt.git/commit
Revert "Separate out StateAutoStart from StateInitialize"
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 1 Mar 2019 14:22:40 +0000 (15:22 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 6 Mar 2019 09:20:31 +0000 (10:20 +0100)
commit07a9c8bae8b80ef1650e6d05869cbf55c6aea837
treece3e33922ee26d9d0a5df65b81b1b2a633502dd0
parentfc380c2e018ae15347d4c281a7e74896c48cac4a
Revert "Separate out StateAutoStart from StateInitialize"

https://bugzilla.redhat.com/show_bug.cgi?id=1685151

This reverts commit e4a969092bda5b3b952963fdf6658895165040b7.

Now that drivers may call virConnectOpen() on secondary drivers, it
doesn't make much sense to have autostart separated from driver
initialization callback. In fact, it creates a problem because one
driver during its initialization might try to fetch an object from
another driver but since the object is yet to be autostarted the fetch
fails. This has been observed in reality: qemu driver performs
qemuProcessReconnect() during qemu's stateInitialize phase which may
call virDomainDiskTranslateSourcePool() which connects to the storage
driver to look up the volume. But the storage driver did not autostart
its pools yet therefore volume lookup fails and the domain is killed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/driver-state.h
src/libvirt.c