libvirt/daemon
Daniel P. Berrange 55ea7be7d9 Removing probing of secondary drivers
For stateless, client side drivers, it is never correct to
probe for secondary drivers. It is only ever appropriate to
use the secondary driver that is associated with the
hypervisor in question. As a result the ESX & HyperV drivers
have both been forced to do hacks where they register no-op
drivers for the ones they don't implement.

For stateful, server side drivers, we always just want to
use the same built-in shared driver. The exception is
virtualbox which is really a stateless driver and so wants
to use its own server side secondary drivers. To deal with
this virtualbox has to be built as 3 separate loadable
modules to allow registration to work in the right order.

This can all be simplified by introducing a new struct
recording the precise set of secondary drivers each
hypervisor driver wants

struct _virConnectDriver {
    virHypervisorDriverPtr hypervisorDriver;
    virInterfaceDriverPtr interfaceDriver;
    virNetworkDriverPtr networkDriver;
    virNodeDeviceDriverPtr nodeDeviceDriver;
    virNWFilterDriverPtr nwfilterDriver;
    virSecretDriverPtr secretDriver;
    virStorageDriverPtr storageDriver;
};

Instead of registering the hypervisor driver, we now
just register a virConnectDriver instead. This allows
us to remove all probing of secondary drivers. Once we
have chosen the primary driver, we immediately know the
correct secondary drivers to use.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2015-01-27 12:02:04 +00:00
..
libvirtd-config.c virconf: Introduce VIR_CONF_ULONG 2014-12-15 10:34:18 +01:00
libvirtd-config.h Remove global log buffer feature entirely 2014-03-18 14:29:22 +00:00
libvirtd.aug daemon: Introduce max_anonymous_clients 2014-03-17 17:45:13 +01:00
libvirtd.c Removing probing of secondary drivers 2015-01-27 12:02:04 +00:00
libvirtd.conf daemon: use socket activation with systemd 2014-08-22 09:12:14 +02:00
libvirtd.h qemu: wire up RPC for qemu monitor events 2014-03-20 11:25:37 -06:00
libvirtd.init.in virtlockd: improve initscripts 2013-12-10 12:02:37 +01:00
libvirtd.logrotate.in Add logrotate support for libvirtd.log 2011-03-04 22:43:55 +08:00
libvirtd.lxc.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.pod.in Properly handle -h / -V for --help/--version aliases in virtlockd/libvirtd 2013-08-13 14:06:01 +01:00
libvirtd.policy.in daemon: Make the default PolicyKit policy auth_admin_keep. 2012-11-01 13:17:26 +00:00
libvirtd.qemu.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.sasl daemon: Fix command example in libvirtd.sasl 2013-07-09 10:01:55 -04:00
libvirtd.service.in daemon: use socket activation with systemd 2014-08-22 09:12:14 +02:00
libvirtd.socket.in daemon: use socket activation with systemd 2014-08-22 09:12:14 +02:00
libvirtd.sysconf daemon: Enhance documentation for changing NOFILE limit 2014-03-20 10:55:44 +01:00
libvirtd.sysctl init: raise default system aio limits 2011-10-05 14:49:35 -06:00
libvirtd.uml.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.upstart daemon: Allow overriding NOFILES ulimit for the daemon as well 2012-02-01 16:04:30 +01:00
Makefile.am Convert remote daemon & acl code to use polkit API 2014-09-24 15:29:22 +01:00
remote.c Replace virDomainSnapshotFree with virObjectUnref 2014-12-02 11:03:41 -05:00
remote.h Implement the RPC protocol for the libvirt-lxc.la library 2013-01-15 18:16:53 +00:00
stream.c Replace virStreamFree with virObjectUnref 2014-12-02 11:03:41 -05:00
stream.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
test_libvirtd.aug.in daemon: Introduce max_anonymous_clients 2014-03-17 17:45:13 +01:00
THREADS.txt docs: fix usage of 'onto' 2013-04-19 14:31:16 -06:00