1. 22 2月, 2018 7 次提交
  2. 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
  3. 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
  4. 01 2月, 2018 1 次提交
  5. 31 1月, 2018 3 次提交
  6. 29 1月, 2018 1 次提交
    • E
      nodedev: Move the sysfs-related cap handling to node_device_conf.c · f83c7c88
      Erik Skultety 提交于
      The capabilities are defined/parsed/formatted/queried from this module,
      no reason for 'update' not being part of the module as well. This also
      involves some module-specific prefix changes.
      This patch also drops the node_device_linux_sysfs module from the repo
      since:
      a) it only contained the capability handlers we just moved
      b) it's only linked with the driver (by design) and thus unreachable to
      other modules
      c) we touch sysfs across all the src/util modules so the module being
      deleted hasn't been serving its original intention for some time already.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      f83c7c88
  7. 26 1月, 2018 1 次提交
  8. 08 1月, 2018 1 次提交
  9. 13 12月, 2017 1 次提交
  10. 10 11月, 2017 1 次提交
    • D
      vbox: Add support for 5.2.x · 0eda09f4
      Dawid Zamirski 提交于
      Simply add the 5.2 SDK header to the existing unified framework. No
      other special handling is needed as there's no API break between
      existing 5.1 and the just added 5.2.
      0eda09f4
  11. 03 11月, 2017 1 次提交
    • A
      Remove backslash alignment attempts · 3e7db8d3
      Andrea Bolognani 提交于
      Right-aligning backslashes when defining macros or using complex
      commands in Makefiles looks cute, but as soon as any changes is
      required to the code you end up with either distractingly broken
      alignment or unnecessarily big diffs where most of the changes
      are just pushing all backslashes a few characters to one side.
      
      Generated using
      
        $ git grep -El '[[:blank:]][[:blank:]]\\$' | \
          grep -E '*\.([chx]|am|mk)$$' | \
          while read f; do \
            sed -Ei 's/[[:blank:]]*[[:blank:]]\\$/ \\/g' "$f"; \
          done
      Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
      3e7db8d3
  12. 07 10月, 2017 1 次提交
    • W
      build: isolate core libvirt libs deps from xen runtime · 6c200c76
      Wim ten Have 提交于
      Generating libvirt packages per make rpm, "with-libxl=1" and "with-xen=1",
      adds strict runtime dependencies per libxenlight for xen-libs package from
      core libvirt-libs package.  This is not necessary and unfortunate since
      those dependencies set demand to "xen-libs" package even when there's no
      need for libvirt xen or libxl driver components.
      
      This patch is to have two separate xenconfig lib tool libraries: one for
      core libvirt (without XL), and a another that contains xl for libxl driver
      (libvirt_driver_libxl_impl.la) which when loading the driver, loads the
      remaining symbols (xen{Format,Parse}XL. For the user/sysadmin, this means
      the xen dependencies are moved into libxl driver, instead of core libvirt.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NJim Fehlig <jfehlig@suse.com>
      6c200c76
  13. 20 9月, 2017 1 次提交
    • D
      Link libvirt_util.la with gnutls · c120ce16
      Daniel P. Berrange 提交于
      The util/vircrypto.c file uses gnutls, so we must directly link
      libvirt_util.la with gnutls to avoid errors on OS which do not
      resolve symbols against indirectly linked libraries.
      
      This fixes a build failure on Ubuntu Trusty
      
        CCLD     storagevolxml2argvtest
      /usr/bin/ld: ../src/.libs/libvirt_util.a(libvirt_util_la-vircrypto.o): undefined reference to symbol 'gnutls_strerror@@GNUTLS_1_4'
      
      //usr/lib/x86_64-linux-gnu/libgnutls.so.26: error adding symbols: DSO missing from command line
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c120ce16
  14. 14 8月, 2017 1 次提交
  15. 27 7月, 2017 2 次提交
  16. 26 7月, 2017 1 次提交
    • P
      util: introduce virFileCache · ac3eb2ab
      Pavel Hrdina 提交于
      The new virFileCache will nicely handle the caching logic for any data
      that we would like to cache.  For each type of data we will just need
      to implement few handlers that will take care of creating, validating,
      loading and saving the cached data.
      
      The cached data must be an instance of virObject.
      
      Currently we cache QEMU capabilities which will start using
      virFileCache.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
      ac3eb2ab
  17. 19 7月, 2017 1 次提交
  18. 11 7月, 2017 1 次提交
  19. 07 6月, 2017 1 次提交
  20. 26 5月, 2017 1 次提交
  21. 09 5月, 2017 1 次提交
  22. 26 4月, 2017 2 次提交