1 diff -ur libvirt-0.9.11/src/Makefile.am libvirt-0.9.11-mod/src/Makefile.am
2 --- libvirt-0.9.11/src/Makefile.am 2012-03-23 14:56:20.000000000 +0100
3 +++ libvirt-0.9.11-mod/src/Makefile.am 2012-04-01 11:47:02.416334370 +0200
8 -if WITH_DRIVER_MODULES
9 -mod_LTLIBRARIES += libvirt_driver_remote.la
11 noinst_LTLIBRARIES += libvirt_driver_remote.la
12 libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
14 libvirt_driver_remote_la_CFLAGS = \
18 libvirt-net-rpc-client.la \
19 libvirt-net-rpc-server.la \
21 -if WITH_DRIVER_MODULES
22 -libvirt_driver_remote_la_LIBADD += ../gnulib/lib/libgnu.la
23 -libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
25 libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
27 $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
30 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
31 libvirt_driver_lxc_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS)
33 +libvirt_driver_lxc_la_CFLAGS += $(BLKID_CFLAGS)
34 +libvirt_driver_lxc_la_LIBADD += $(BLKID_LIBS)
36 if WITH_SECDRIVER_SELINUX
37 libvirt_driver_lxc_la_LIBADD += $(SELINUX_LIBS)
42 if WITH_DRIVER_MODULES
43 -libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
44 libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
47 --- libvirt-0.9.11/src/driver.c~ 2011-07-20 03:23:18.000000000 +0200
48 +++ libvirt-0.9.11/src/driver.c 2012-04-19 13:20:05.906390855 +0200
53 -virDriverLoadModule(const char *name)
54 +virDriverLoadModule(const char *name, int global)
56 const char *moddir = getenv("LIBVIRT_DRIVER_DIR");
57 char *modfile = NULL, *regfunc = NULL;
62 - handle = dlopen(modfile, RTLD_NOW | RTLD_LOCAL);
64 + handle = dlopen(modfile, RTLD_NOW | RTLD_GLOBAL);
66 + handle = dlopen(modfile, RTLD_NOW | RTLD_LOCAL);
68 VIR_ERROR(_("failed to load module %s %s"), modfile, dlerror());
70 --- libvirt-0.9.11/src/driver.h~ 2012-03-09 08:33:16.000000000 +0100
71 +++ libvirt-0.9.11/src/driver.h 2012-04-19 13:20:26.199724041 +0200
74 int virRegisterStateDriver(virStateDriverPtr);
76 -void *virDriverLoadModule(const char *name);
77 +void *virDriverLoadModule(const char *name, int global);
79 #endif /* __VIR_DRIVER_H__ */
80 --- libvirt-0.9.11/src/libvirt.c~ 2012-03-31 12:22:02.000000000 +0200
81 +++ libvirt-0.9.11/src/libvirt.c 2012-04-19 12:32:29.704680534 +0200
83 * is not loaded they'll get a suitable error at that point
86 - virDriverLoadModule("test");
87 + virDriverLoadModule("test", 0);
90 - virDriverLoadModule("xen");
91 + virDriverLoadModule("xen", 0);
94 - virDriverLoadModule("openvz");
95 + virDriverLoadModule("openvz", 0);
98 - virDriverLoadModule("vmware");
99 + virDriverLoadModule("vmware", 0);
102 - virDriverLoadModule("vbox");
103 + virDriverLoadModule("vbox", 0);
106 - virDriverLoadModule("esx");
107 + virDriverLoadModule("esx", 0);
110 - virDriverLoadModule("hyperv");
111 + virDriverLoadModule("hyperv", 0);
114 - virDriverLoadModule("xenapi");
115 + virDriverLoadModule("xenapi", 0);
118 - virDriverLoadModule("remote");
122 if (testRegister() == -1) return -1;
123 @@ -482,10 +482,10 @@
125 if (xenapiRegister() == -1) return -1;
129 if (remoteRegister () == -1) return -1;
135 --- libvirt-0.9.11/daemon/libvirtd.c~ 2012-03-31 12:22:02.000000000 +0200
136 +++ libvirt-0.9.11/daemon/libvirtd.c 2012-04-19 13:24:33.839722250 +0200
137 @@ -401,14 +401,14 @@
138 * If they try to open a connection for a module that
139 * is not loaded they'll get a suitable error at that point
141 - virDriverLoadModule("network");
142 - virDriverLoadModule("storage");
143 - virDriverLoadModule("nodedev");
144 - virDriverLoadModule("secret");
145 - virDriverLoadModule("qemu");
146 - virDriverLoadModule("lxc");
147 - virDriverLoadModule("uml");
148 - virDriverLoadModule("nwfilter");
149 + virDriverLoadModule("network", 1);
150 + virDriverLoadModule("storage", 0);
151 + virDriverLoadModule("nodedev", 0);
152 + virDriverLoadModule("secret", 0);
153 + virDriverLoadModule("qemu", 0);
154 + virDriverLoadModule("lxc", 0);
155 + virDriverLoadModule("uml", 0);
156 + virDriverLoadModule("nwfilter", 0);