• D
    Only build server side drivers as modules · 1c275e9a
    Daniel P. Berrange 提交于
    The driver modules all use symbols which are defined in libvirt.so.
    Thus for loading of modules to work, the binary that libvirt.so
    is linked to must export its symbols back to modules. If the
    libvirt.so itself is dlopen()d then the RTLD_GLOBAL flag must
    be set. Unfortunately few, if any, programming languages use
    the RTLD_GLOBAL flag when loading modules :-( This means is it
    not practical to use driver modules for any libvirt client side
    drivers (OpenVZ, VMWare, Hyper-V, Remote client, test).
    
    This patch changes the build process so only server side drivers
    are built as modules (Xen, QEMU, LXC, UML)
    
    * daemon/libvirtd.c: Add missing load of 'interface' driver
    * src/Makefile.am: Only build server side drivers as modules
    * src/libvirt.c: Don't load any driver modules
    Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
    1c275e9a
libvirtd.c 37.4 KB