1. 23 2月, 2018 15 次提交
  2. 22 2月, 2018 13 次提交
  3. 21 2月, 2018 1 次提交
    • D
      src: remove WITH_LIBVIRTD condition around hal/udev build · b7d0e272
      Daniel P. Berrangé 提交于
      Currently building --without-libvirtd causes a failure to link the node
      device driver:
      
      node_device/.libs/libvirt_driver_nodedev_la-node_device_driver.o: In function `nodedevRegister':
      /home/berrange/src/virt/libvirt/src/node_device/node_device_driver.c:649: undefined reference to `udevNodeRegister'
      collect2: error: ld returned 1 exit status
      
      because it causes us to build the core nodedev driver, but then skip the
      implementations, despite udev being available.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      b7d0e272
  4. 09 2月, 2018 9 次提交
    • J
      lockd: Install the admin sockets · f65e8a95
      John Ferlan 提交于
      Commit id 'ce7ae55e' added support for the lockd admin socket, but
      forgot to add the socket to the make and spec files for installation
      purposes.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      f65e8a95
    • J
      logd: Install the admin sockets · bffdd6c3
      John Ferlan 提交于
      Commit id '85d45ff0' added support for the logd admin socket, but
      forgot to add the socket to the make and spec files for installation
      purposes.
      
      NB: Includes breaking up the long %systemd_ lists across multiple lines
          for ease of reading
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      bffdd6c3
    • D
      build: passing the "-z defs" linker flag to prevent undefined symbols · a1f6030d
      Daniel P. Berrangé 提交于
      Undefined symbols are a bad thing in general because they can get
      resolved in unexpected ways at runtime if multiple sources provide the
      same symbol name. For example both glibc and libtirpc may provide XDR
      symbols and we want to ensure that we resolve to libtirpc if that's what
      we originally built against.
      
      The toolchain maintainers thus strongly recommend that all applications
      use the '-z defs' linker flag to prevent undefined symbols. This is
      shortly becoming part of the default linker flags for RPMs. As an added
      benefit this aligns Linux builds with Windows builds, where the linker
      has never permitted undefined symbols.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a1f6030d
    • D
      build: provide a AM_FLAGS_MOD for loadable modules · 9e3c9af9
      Daniel P. Berrangé 提交于
      Dynamic loadable modules all need a common set of linker flags
      
        -module -avoid-version $(AM_LDFLAGS)
      
      Bundle those up into a $(AM_LDFLAGS_MOD) to avoid repetition.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      9e3c9af9
    • D
      build: explicitly link all modules with libvirt.so · 21639744
      Daniel P. Berrangé 提交于
      The dlopened modules we currently build all use various symbols from
      libvirt.so, but don't actually link to it. They rely on the libvirtd
      daemon re-exporting the libvirt.so symbols. This means that at the
      time the modules are linked, they contain a huge number of undefined
      symbols. It also means that these undefined symbols are not versioned,
      so despite us providing a LIBVIRT_PRIVATE_XXXX version that
      intentionally changes on every release, the loadable modules could
      actually be loaded into any libvirtd regardless of version.
      
      This change explicitly links all modules against libvirt.so so
      that they don't rely on the re-export behave and can be fully resolved
      at build time. This will give us a stronger guarantee modules will
      actually be loadable at runtime and that we're using modules from the
      matched build.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      21639744
    • D
      build: link libvirt_lxc against libvirt.so · 5cbe0b10
      Daniel P. Berrangé 提交于
      Rather than static linking in various of the helper libraries to
      libvirt_lxc, just link against the main libvirt.so. This is more memory
      and time efficient because it will already be cached in memory and
      sharable between processes.
      
      CAPNG flags need adding because the LXC code directly calls various
      libcapng APIs and no longer inherits the CAPNG flags via the statically
      linked .a libs.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      5cbe0b10
    • D
      rpc: don't link in second copy of RPC code to libvirtd & lockd plugin · c3b24e70
      Daniel P. Berrangé 提交于
      The libvirt_driver_remote.la static library is linked into the
      libvirt.so dynamic library, providing both the generic RPC layer code
      and the remote protocol client driver. The libvirtd daemon the itself
      links to libvirt_driver_remote.la, in order to get access to the generic
      RPC layer code and the XDR functions for the remote driver. This means
      we get multiple copies of the same code in libvirtd, one direct and one
      indirect via libvirt.so. The same mistake affects the lockd plugin.
      
      The libvirtd daemon should instead just link aganist the generic RPC
      layer code that's in libvirt.so. This is easily doable if we add exports
      for the few symbols we've previously missed, and wildcard export xdr_*
      to expose the auto-generated XDR marshallers.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      c3b24e70
    • D
      storage: move storage file backend framework into util directory · 064fec69
      Daniel P. Berrangé 提交于
      The QEMU driver loadable module needs to be able to resolve all ELF
      symbols it references against libvirt.so. Some of its symbols can only
      be resolved against the storage_driver.so loadable module which creates
      a hard dependancy between them. By moving the storage file backend
      framework into the util directory, this gets included directly in the
      libvirt.so library. The actual backend implementations are still done as
      loadable modules, so this doesn't re-add deps on gluster libraries.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      064fec69
    • D
      storage: extract storage file backend from main storage driver backend · 3be2d168
      Daniel P. Berrangé 提交于
      The storage driver backends are serving the public storage pools API,
      while the storage file backends are serving the internal QEMU driver and
      / or libvirt utility code.
      
      To prep for moving this storage file backend framework into the utility
      code, split out the backend definitions.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      3be2d168
  5. 01 2月, 2018 1 次提交
  6. 31 1月, 2018 1 次提交