1. 25 7月, 2011 1 次提交
    • E
      tests: fix compilation failures · 5283ea9b
      Eric Blake 提交于
      Even though gnutls is a hard-req for libvirt, and gnutls depends
      on libtasn1, that does not mean that you have to have the libtasn1
      development files installed.  Skip the test rather than failing
      compilation in that case.
      
      With newer gcc, the test consumed too much stack space.  Move
      things to static storage to fix that.
      
      * configure.ac (AC_CHECK_HEADERS): Check for libtasn1.h.
      (HAVE_LIBTASN1): New automake conditional.
      * tests/Makefile.am (virnettlsconvirnettlscontexttest_SOURCES)
      (virnettlscontexttest_LDADD): Allow compilation without libtasn1.
      * tests/virnettlscontexttest.c: Skip test if headers not present.
      (struct testTLSCertReq): Alter time members.
      (testTLSGenerateCert): Reflect the change.
      (mymain): Reduce stack usage.
      5283ea9b
  2. 22 7月, 2011 1 次提交
    • E
      save: let iohelper work on O_DIRECT fds · 12291656
      Eric Blake 提交于
      Required for a coming patch where iohelper will operate on O_DIRECT
      fds.  There, the user-space memory must be aligned to file system
      boundaries (at least 512, but using page-aligned works better, and
      some file systems prefer 64k).  Made tougher by the fact that
      VIR_ALLOC won't work on void *, but posix_memalign won't work on
      char * and isn't available everywhere.
      
      This patch makes some simplifying assumptions - namely, output
      to an O_DIRECT fd will only be attempted on an empty seekable
      file (hence, no need to worry about preserving existing data
      on a partial block, and ftruncate will work to undo the effects
      of having to round up the size of the last block written), and
      input from an O_DIRECT fd will only be attempted on a complete
      seekable file with the only possible short read at EOF.
      
      * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_memalign.
      * src/util/iohelper.c (runIO): Use aligned memory, and handle
      quirks of O_DIRECT on last write.
      12291656
  3. 12 7月, 2011 1 次提交
  4. 08 7月, 2011 2 次提交
    • J
      Skip some xen tests if xend is not running · 41828514
      Jim Fehlig 提交于
      Currently, the xen statstest and reconnect tests are only compiled
      if xend is running.  Compile them unconditionally if xen headers
      are present, but skip the tests at runtime if xend is not running.
      
      This is in response to Eric's suggestion here
      
      https://www.redhat.com/archives/libvir-list/2011-July/msg00367.html
      41828514
    • E
      build: use gnulib pthread_sigmask · 8437e738
      Eric Blake 提交于
      Gnulib finally learned how to do pthread_sigmask on mingw.
      
      * .gnulib: Update to latest, for pthread_sigmask.
      * bootstrap.conf (gnulib_modules): Add pthread_sigmask.
      * configure.ac (AC_CHECK_FUNCS): Drop redundant check.
      * src/rpc/virnetclient.c (virNetClientSetTLSSession)
      (virNetClientIOEventLoop): Make code unconditional.
      * src/util/command.c (virFork): Likewise.
      * tools/virsh.c (doMigrate, cmdMigrate): Likewise.
      8437e738
  5. 04 7月, 2011 1 次提交
    • D
      Release of libvirt-0.9.3 · 7976d96d
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: update for the
        new release
      * po/*.po*: updated and regenerated localizations
      7976d96d
  6. 29 6月, 2011 1 次提交
    • D
      Convert libvirtd over to the new RPC handling APIs · df0b57a9
      Daniel P. Berrange 提交于
      This guts the libvirtd daemon, removing all its networking and
      RPC handling code. Instead it calls out to the new virServerPtr
      APIs for all its RPC & networking work
      
      As a fallout all libvirtd daemon error reporting now takes place
      via the normal internal error reporting APIs. There is no need
      to call separate error reporting APIs in RPC code, nor should
      code use VIR_WARN/VIR_ERROR for reporting fatal problems anymore.
      
      * daemon/qemu_dispatch_*.h, daemon/remote_dispatch_*.h: Remove
        old generated dispatcher code
      * daemon/qemu_dispatch.h, daemon/remote_dispatch.h: New dispatch
        code
      * daemon/dispatch.c, daemon/dispatch.h: Remove obsoleted code
      * daemon/remote.c, daemon/remote.h: Rewrite for new dispatch
        APIs
      * daemon/libvirtd.c, daemon/libvirtd.h: Remove all networking
        code
      * daemon/stream.c, daemon/stream.h: Update for new APIs
      * daemon/Makefile.am: Link to libvirt-net-rpc-server.la
      df0b57a9
  7. 24 6月, 2011 1 次提交
    • D
      Introduce a generic object for using network sockets · 58b5b14e
      Daniel P. Berrange 提交于
      Introduces a simple wrapper around the raw POSIX sockets APIs
      and name resolution APIs. Allows for easy creation of client
      and server sockets with correct usage of name resolution APIs
      for protocol agnostic socket setup.
      
      It can listen for UNIX and TCP stream sockets.
      
      It can connect to UNIX, TCP streams directly, or indirectly
      to UNIX sockets via an SSH tunnel or external command
      
      * src/Makefile.am: Add to libvirt-net-rpc.la
      * src/rpc/virnetsocket.c, src/rpc/virnetsocket.h: Generic
        sockets APIs
      * tests/Makefile.am: Add socket test
      * tests/virnetsockettest.c: New test case
      * tests/testutils.c: Avoid overriding LIBVIRT_DEBUG settings
      * tests/ssh.c: Dumb helper program for SSH tunnelling tests
      58b5b14e
  8. 23 6月, 2011 1 次提交
  9. 14 6月, 2011 1 次提交
    • M
      Fix dlopen dependency · bfbeafbd
      Matthias Bolte 提交于
      Since the addition of the lock manager framework in 6a943419
      dlopen is always required, but the checks in configure wasn't changed
      to reflect that. This didn't show up directly because the VirtualBox
      driver linking dlopen in covered it. But disabling the VirtualBox
      driver makes the build fail due to missing dlopen.
      
      Change the dlopen check in configure to pick up dlopen when available.
      
      Reported by Ruben Kerkhof.
      bfbeafbd
  10. 08 6月, 2011 2 次提交
    • E
      build: detect Coverity 5.3.0 · 28ea3bf3
      Eric Blake 提交于
      Coverity 5.3.0 still outputs lots of COVERITY_* variables, but no
      longer modifies COVERITY_BUILD_COMMAND in the environment.  Pick
      one that seems likely to stay around.
      
      * configure.ac (STATIC_ANALYSIS): Detect newer Coverity.
      28ea3bf3
    • O
      build: Fix typos in configure.ac · 31967cff
      Osier Yang 提交于
      31967cff
  11. 06 6月, 2011 1 次提交
    • D
      Release of libvirt-0.9.2 · 2c5ded6e
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: update for release
      * po/*.po*: updated translations and regenerated
      2c5ded6e
  12. 03 6月, 2011 1 次提交
    • D
      Add call to sanlock_restrict() in QEMU lock driver · ebfb8c42
      Daniel P. Berrange 提交于
      In between fork and exec, a connection to sanlock is acquired
      and the socket file descriptor is intionally leaked to the
      child process. sanlock watches this FD for POLL_HANGUP to
      detect when QEMU has exited. We don't want a rogus/compromised
      QEMU from issuing sanlock RPC calls on the leaked FD though,
      since that could be used to DOS other guests. By calling
      sanlock_restrict() on the socket before exec() we can lock
      it down.
      
      * configure.ac: Check for sanlock_restrict API
      * src/locking/domain_lock.c: Restrict lock acquired in
        process startup phase
      * src/locking/lock_driver.h: Add VIR_LOCK_MANAGER_ACQUIRE_RESTRICT
      * src/locking/lock_driver_sanlock.c: Add call to sanlock_restrict
        when requested by VIR_LOCK_MANAGER_ACQUIRE_RESTRICT flag
      ebfb8c42
  13. 02 6月, 2011 1 次提交
    • D
      Add a plugin for the 'sanlock' project · 9f135031
      Daniel P. Berrange 提交于
      Sanlock is a project that implements a disk-paxos locking
      algorithm. This is suitable for cluster deployments with
      shared storage.
      
      * src/Makefile.am: Add dlopen plugin for sanlock
      * src/locking/lock_driver_sanlock.c: Sanlock driver
      * configure.ac: Check for sanlock
      * libvirt.spec.in: Add a libvirt-lock-sanlock RPM
      9f135031
  14. 01 6月, 2011 1 次提交
    • M
      remote generator: Legacy support for hyper to long mappings · 32abd5ee
      Matthias Bolte 提交于
      Remove some special case code that took care of mapping hyper to the
      correct C types.
      
      As the list of procedures that is allowed to map hyper to long is fixed
      put it in the generator instead annotations in the .x files. This
      results in simpler .x file parsing code.
      
      Use macros for hyper to long assignments that perform overflow checks
      when long is smaller than hyper. Map hyper to long long by default.
      
      Suggested by Eric Blake.
      32abd5ee
  15. 31 5月, 2011 1 次提交
  16. 28 5月, 2011 1 次提交
  17. 26 5月, 2011 1 次提交
  18. 20 5月, 2011 1 次提交
    • E
      build: require newer gettext · 0bb6e155
      Eric Blake 提交于
      Now that RHEL 5.6 ships with gettext 0.17, we can get out of the
      stone age and use the newer gettext capabilities and improved
      macros for certain configure tests.
      
      * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
      (MKINSTALLDIRS): Delete hack that is no longer needed.
      * bootstrap.conf (buildreq): Check for minimum gettext version.
      Based on a report by Wen Congyang.
      0bb6e155
  19. 18 5月, 2011 1 次提交
  20. 17 5月, 2011 1 次提交
    • E
      build: drop unused <sys/syslimits.h> header · d4982b86
      Eric Blake 提交于
      <sys/syslimits.h> is not standardized, so portable programs should
      not need to rely on it.  If there really is something that we need
      where <sys/syslimits.h> provided the limit but <limits.h> did not,
      then that would be a candidate for fixing in gnulib.  But this patch
      did not turn up any compilation failures on Linux.
      
      * src/internal.h (includes): Drop unused header.
      * daemon/libvirtd.h (includes): Likewise.
      * configure.ac (AC_CHECK_HEADERS): Likewise.
      Based on a report by Matthias Bolte.
      d4982b86
  21. 14 5月, 2011 1 次提交
  22. 12 5月, 2011 2 次提交
    • W
      build: avoid compiler warning during configure · 1ba6e2d9
      Wen Congyang 提交于
      There is no need to redefine _GNU_SOURCE in tests that occur after
      gl_INIT, since that macro already AC_DEFINE'd it for us.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      1ba6e2d9
    • C
      fix xdr detection and use with recent glibc · 29d753c8
      Christophe Fergeau 提交于
      glibc 2.13.90 has obsoleted its rpc implementation in favour of
      the one provided by the TI-RPC library:
      
      > * The RPC implementation in libc is obsoleted.  Old programs keep working
      >   but new programs cannot be linked with the routines in libc anymore.
      >   Programs in need of RPC functionality must be linked against TI-RPC.
      >   The TI-RPC implemtation is IPv6 enabled and there are other benefits.
      >
      >   Visible changes of this change include (obviously) the inability to
      >   link
      >   programs using RPC functions without referencing the TI-RPC library,
      >   the
      >   removal of the RPC headers from the glibc headers, and the lack of
      >   symbols defined in <rpc/netdb.h> when <netdb.h> is installed.
      >   Implemented by Ulrich Drepper.
      (from glibc NEWS)
      
      Thus with recent glibc, we need to try linking with -ltirpc when looking
      for the XDR functions. The daemon also needs to use XDR_CFLAGS to be able
      to find the XDR headers stored in /usr/include/tirpc.
      
      When using TI-RPC, there are some warnings about redundant declarations, but
      the fix probably belongs in other modules:
      
      /usr/include/tirpc/rpc/rpcent.h:68:13: warning: redundant redeclaration of
      'setrpcent' [-Wredundant-decls]
      /usr/include/rpc/netdb.h:53:13: note: previous declaration of 'setrpcent'
      was here
      
      /usr/include/tirpc/rpc/rpcent.h:69:13: warning: redundant redeclaration of
      'endrpcent' [-Wredundant-decls]
      /usr/include/rpc/netdb.h:54:13: note: previous declaration of 'endrpcent'
      was here
      
      /usr/include/tirpc/rpc/rpc.h:84:12: warning: redundant redeclaration of
      'bindresvport' [-Wredundant-decls]
      /usr/include/netinet/in.h:440:12: note: previous declaration of
      'bindresvport' was here
      29d753c8
  23. 11 5月, 2011 1 次提交
    • D
      Add support for YAJL version 2 API/ABI · 9f5d3a91
      Daniel P. Berrange 提交于
      Version 2.0.0 or yajl changed API. It is fairly trivial for us to
      cope with both APIs in libvirt, so adapt.
      
      * configure.ac: Probe for yajl2 API
      * src/util/json.c: Conditional support for yajl2 API
      9f5d3a91
  24. 05 5月, 2011 2 次提交
    • D
      Release of libvirt-0.9.1 · 9b889aac
      Daniel Veillard 提交于
      * configure.ac libvirt.spec.in docs/news.html.in: update and document
        the release
      * po/*.po*: update localizations for german, polish, spanish, ukrainian
        and vietnamese coming from transifex, regenerate
      9b889aac
    • E
      maint: detect clang 2.9 · 2ffa8b34
      Eric Blake 提交于
      In Fedora 15, with clang 2.8, 'scan-build env' shows:
      CCC_ANALYZER_ANALYSIS=-analyzer-check-objc-mem -analyzer-check-security-syntactic -analyzer-check-dead-stores -analyzer-check-objc-unused-ivars -analyzer-check-objc-methodsigs
      
      But in rawhide, with clang 2.9, the same variable is set but
      empty, implying the default set of analysis.  We still want
      sa_assert defined in that case, to stop clang from hitting
      false positives.
      
      * configure.ac (STATIC_ANALYSIS): Detect clang even when the set
      of analyses is the default.
      2ffa8b34
  25. 28 4月, 2011 2 次提交
  26. 27 4月, 2011 1 次提交
  27. 05 4月, 2011 1 次提交
    • D
      Use gnulib's manywarnings & warnings modules · 0e867555
      Daniel P. Berrange 提交于
      Remove custom code for checking compiler warnings, using
      gl_WARN_ADD instead. Don't list all flags ourselves, use
      gnulib's gl_MANYWARN_ALL_GCC to get all possible GCC flags,
      then turn off the ones we don't want yet.
      
      * acinclude.m4: Rewrite to use gl_WARN_ADD and gl_MANYWARN_ALL_GCC
      * bootstrap.conf: Add warnings & manywarnings
      * configure.ac: Switch to gl_WARN_ADD
      * m4/compiler-flags.m4: Obsoleted by gl_WARN_ADD
      0e867555
  28. 04 4月, 2011 1 次提交
    • D
      Release of libvirt-0.9.0 · d17e438a
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: update for the release
      * po/*.po*: update polish translation and regenerate
      d17e438a
  29. 29 3月, 2011 1 次提交
    • M
      Implements domainXMLTo/FromNative in libxl driver · 02449771
      Markus Groß 提交于
      * src/Makefile.am src/libvirt_private.syms configure.ac: share and
        reuse the sexpr routines from sexpr.h of the old xen driver
      * src/libxl/libxl_driver.c: implements libxlDomainXMLFromNative and
        libxlDomainXMLToNative
      02449771
  30. 28 3月, 2011 2 次提交
    • D
      Remove the Open Nebula driver · 4591df76
      Daniel P. Berrange 提交于
      The Open Nebula driver has been unmaintained since it was first
      introduced. The only commits have been for tree-wide cleanups.
      It also has a major design flaw, in that it only knows about guests
      that it has created itself, which makes it of very limited use.
      
      Discussions wrt evolution of the VMWare ESX driver, concluded that
      it should limit itself to single-node ESX operation and not try to
      manage the multi-node architecture of VirtualCenter. Open Nebula
      is a cluster like Virtual Center, not a single node system, so
      the same reasoning applies.
      
      The DeltaCloud project includes an Open Nebula driver and is a much
      better fit architecturally, since it is explicitly targetting the
      distributed multihost cluster scenario.
      
      Thus this patch deletes the libvirt Open Nebula driver with the
      recommendation that people use DeltaCloud for managing it instead.
      
      * configure.ac: Remove probe for xmlrpc & --with-one arg
      * daemon/Makefile.am, daemon/libvirtd.c, src/Makefile.am: Remove
        ONE driver build
      * src/opennebula/one_client.c, src/opennebula/one_client.h,
        src/opennebula/one_conf.c, src/opennebula/one_conf.h,
        src/opennebula/one_driver.c, src/opennebula/one_driver.c: Delete
        files
      * autobuild.sh, libvirt.spec.in, mingw32-libvirt.spec.in: Remove
        build rules for Open Nebula
      * docs/drivers.html.in, docs/sitemap.html.in: Remove reference
        to OpenNebula
      * docs/drvone.html.in: Delete file
      4591df76
    • O
      Fix syntax error in configure.ac · ab8984e4
      Osier Yang 提交于
      Which will lead "./configure --with-audit=yes" breaks.
      ab8984e4
  31. 25 3月, 2011 1 次提交
  32. 19 3月, 2011 1 次提交
    • J
      Don't build libxenlight driver for Xen 4.0 · e36804ce
      Jim Fehlig 提交于
      The libxenlight driver does not build against the tech preview
      version of libxenlight in Xen 4.0.  Only enable building the
      driver against more complete libxenlight found in Xen 4.1.
      e36804ce
  33. 18 3月, 2011 1 次提交
    • J
      Add libxenlight driver · 2b84e445
      Jim Fehlig 提交于
      Add a new xen driver based on libxenlight [1], which is the primary
      toolstack starting with Xen 4.1.0.  The driver is stateful and runs
      privileged only.
      
      Like the existing xen-unified driver, the libxenlight driver is
      accessed with xen:// URI.  Driver selection is based on the status
      of xend.  If xend is running, the libxenlight driver will not load
      and xen:// connections are handled by xen-unified.  If xend is not
      running *and* the libxenlight driver is available, xen://
      connections are deferred to the libxenlight driver.
      
      V6:
       - Address several code style issues noted by Daniel Veillard
       - Make drive work with xen:/// URI
       - Hold domain object reference while domain is injected in
         libvirt event loop.  Race found and fixed by Markus Groß.
      
      V5:
       - Ensure events are unregistered when domain private data
         is destroyed.  Discovered and fixed by Markus Groß.
      
      V4:
       - Handle restart of libvirtd, reconnecting to previously
         started domains
       - Rebased to current master
       - Tested against Xen 4.1 RC7-pre (c/s 22961:c5d121fd35c0)
      
      V3:
        - Reserve vnc port within driver when autoport=yes
      
      V2:
        - Update to Xen 4.1 RC6-pre (c/s 22940:5a4710640f81)
        - Rebased to current master
        - Plug memory leaks found by Stefano Stabellini and valgrind
        - Handle SHUTDOWN_crash domain death event
      
      [1] http://lists.xensource.com/archives/html/xen-devel/2009-11/msg00436.html
      2b84e445
  34. 15 3月, 2011 1 次提交