1. 16 11月, 2011 1 次提交
    • J
      Fix build with polkit0 · 0f590c62
      Jim Fehlig 提交于
      I missed adding libvirt_driver_remote.la to libvirtd_LDADD in
      commit b8adfcc6, which didn't cause a problem in 0.9.6 but
      results in this build error in 0.9.7
      
      libvirtd-remote.o: In function `remoteDispatchAuthPolkit':
      remote.c:(.text+0x188dd): undefined reference to `virNetServerGetDBusConn'
      0f590c62
  2. 12 10月, 2011 1 次提交
  3. 11 10月, 2011 2 次提交
    • D
      Rewrite all the DTrace/SystemTAP probing · ddf3bd32
      Daniel P. Berrange 提交于
      The libvirtd daemon had a few crude system tap probes. Some of
      these were broken during the RPC rewrite. The new modular RPC
      code is structured in a way that allows much more effective
      tracing. Instead of trying to hook up the original probes,
      define a new set of probes for the RPC and event code.
      
      The master probes file is now src/probes.d.  This contains
      probes for virNetServerClientPtr, virNetClientPtr, virSocketPtr
      virNetTLSContextPtr and virNetTLSSessionPtr modules. Also add
      probes for the poll event loop.
      
      The src/dtrace2systemtap.pl script can convert the probes.d
      file into a libvirt_probes.stp file to make use from systemtap
      much simpler.
      
      The src/rpc/gensystemtap.pl script can generate a set of
      systemtap functions for translating RPC enum values into
      printable strings. This works for all RPC header enums (program,
      type, status, procedure) and also the authentication enum
      
      The PROBE macro will automatically generate a VIR_DEBUG
      statement, so any place with a PROBE can remove any existing
      manual DEBUG statements.
      
      * daemon/libvirtd.stp, daemon/probes.d: Remove obsolete probing
      * daemon/libvirtd.h: Remove probe macros
      * daemon/Makefile.am: Remove all probe buildings/install
      * daemon/remote.c: Update authentication probes
      * src/dtrace2systemtap.pl, src/rpc/gensystemtap.pl: Scripts
        to generate STP files
      * src/internal.h: Add probe macros
      * src/probes.d: Master list of probes
      * src/rpc/virnetclient.c, src/rpc/virnetserverclient.c,
        src/rpc/virnetsocket.c, src/rpc/virnettlscontext.c,
        src/util/event_poll.c: Insert probe points, removing any
        DEBUG statements that duplicate the info
      ddf3bd32
    • D
      Make libvirt.so include the RPC server code · 22af84dc
      Daniel P. Berrange 提交于
      To avoid static linking libvirtd to the RPC server code, which
      then prevents sane introduction of DTrace probes, put it all
      in the libvirt.so, and export it
      
      * daemon/Makefile.am: Don't link to RPC libraries
      * src/Makefile.am: Link all RPC libraries to libvirt.so
      * src/libvirt_private.syms: Export all RPC functions
      22af84dc
  4. 06 10月, 2011 1 次提交
    • E
      init: raise default system aio limits · 5298551e
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=740899 documents that
      if qemu uses aio=native for its disks, then it consumes 128 aio
      requests per disk.  On a host with multiple guests, this can quickly
      run out of kernel aio requests with the default aio-max-nr of
      65536.  Kernel developers have confirmed that there is no up-front
      cost to raising this limit (a larger limit merely implies that more
      aio requests can be issued in parallel, which in turn will result
      in more kernel memory allocation, only if the system really does use
      that many requests).  Since the system default limit prevents 256
      disks, which is well within libvirt's current scalability, this
      patch installs a file to raise the limit and document it in case a
      system administrator has further cause to tune the limit.  The
      install only works on platforms new enough to source /etc/sysctl.d/*
      alongside /etc/sysctl.conf (F14 and RHEL 6).
      
      * daemon/libvirtd.sysctl: New file.
      * daemon/Makefile.am (EXTRA_DIST): Ship it.
      (install-init, uninstall-init): Install it.
      * libvirt.spec.in (%files): Include it in rpm.
      5298551e
  5. 29 7月, 2011 2 次提交
    • M
      freebsd: Fix build problem due to picking up the wrong libvirt.h · b590866b
      Matthias Bolte 提交于
      Gettext annoyingly modifies CPPFLAGS in-place, putting
      -I/usr/local/include into the search patch if libintl headers
      must be used from that location.  But since we must support
      automake 1.9.6 which lacks AM_CPPFLAGS, and since CPPFLAGS is used
      prior to INCLUDES, this means that the build picks up the _old_
      installed libvirt.h in priority to the in-tree version, leading
      to all sorts of weird build failures on FreeBSD.
      
      Fix this by teaching configure to undo gettext's actions, but
      to keep any changes required by gettext at the end of INCLUDES
      after all in-tree locations are used first.  Also requires
      adding a wrapper Makefile.am and making gnulib-tool create
      just gnulib.mk files during the bootstrap process.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b590866b
    • E
      maint: add missing copyright notices · ff81956a
      Eric Blake 提交于
      I went with the shorter license notice used by src/libvirt.c,
      rather than spelling out the full LGPLv2+ clause into each of
      these files.
      
      * configure.ac: Declare copyright.
      * all Makefile.am: Likewise.
      ff81956a
  6. 21 7月, 2011 1 次提交
    • M
      rpc: Make the dispatch generator handle 'void name(void)' style procedures · fbd5465a
      Matthias Bolte 提交于
      The only 'void name(void)' style procedure in the protocol is 'close' that
      is handled special, but also programming errors like a missing _args or
      _ret suffix on the structs in the .x files can create such a situation by
      accident. Making the generator aware of this avoids bogus errors from the
      generator such as:
      
        Use of uninitialized value in exists at ./rpc/gendispatch.pl line 967.
      
      Also this allows to get rid of the -c option and the special case code for
      the 'close' procedure, as the generator handles it now correctly.
      
      Reported by Michal Privoznik
      fbd5465a
  7. 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
  8. 24 6月, 2011 1 次提交
    • D
      Move the RPC generator scripts into src/rpc · b17b4afa
      Daniel P. Berrange 提交于
      Move the daemon/remote_generator.pl to src/rpc/gendispatch.pl
      and move the src/remote/rpcgen_fix.pl to src/rpc/genprotocol.pl
      
      * daemon/Makefile.am: Update for new name/location of generator
      * src/Makefile.am: Update for new name/location of generator
      b17b4afa
  9. 01 6月, 2011 1 次提交
  10. 22 5月, 2011 1 次提交
    • W
      build: generate files when building without libvirtd · 7ed95b2c
      Wen Congyang 提交于
      Steps to reproduce this problem:
      1. # ./autogen.sh --without-libvirtd
      2. # make dist
         ...
         make[1]: Entering directory `/home/wency/source/libvirt-nodaemon/daemon'
         make[1]: *** No rule to make target `remote_dispatch_prototypes.h', needed by `distdir'.  Stop.
         make[1]: Leaving directory `/home/wency/source/libvirt-nodaemon/daemon'
         make: *** [distdir] Error 1
      7ed95b2c
  11. 14 5月, 2011 1 次提交
    • W
      build: probes.d and libvirtd.stp should be part of tarball · a1b962ad
      Wen Congyang 提交于
      Steps to reproduce this problem:
      1. # ./autogen.sh --without-libvirtd
      2. # make dist
      3. # rpmbuild --nodeps --define "_sourcedir `pwd`" -ba libvirt.spec
         ...
         make[2]: Entering directory `/home/wency/rpmbuild/BUILD/libvirt-0.9.1/daemon'
         make[2]: *** No rule to make target `probes.d', needed by `probes.h'.  Stop.
         make[2]: Leaving directory `/home/wency/rpmbuild/BUILD/libvirt-0.9.1/daemon'
         make[1]: *** [all-recursive] Error 1
         make[1]: Leaving directory `/home/wency/rpmbuild/BUILD/libvirt-0.9.1'
         make: *** [all] Error 2
         error: Bad exit status from /var/tmp/rpm-tmp.WkAD7a (%build)
      a1b962ad
  12. 12 5月, 2011 1 次提交
    • 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
  13. 11 5月, 2011 1 次提交
  14. 07 5月, 2011 4 次提交
    • D
      build: refactor generated RPC files · fb1e8d9c
      Daniel P. Berrange 提交于
      Always generate the rpc files, and require rpcgen during bootstrap.
      
      * daemon/Makefile.am: Removed generated files with
        maintainer-clean target
      * src/Makefile.am: Removed generated files with
        maintainer-clean target. Always run 'rpcgen' if
        generated files are missing
      fb1e8d9c
    • E
      build: rename generated files to .h, for automake's sake · d3c5104d
      Eric Blake 提交于
      In preparation for removing generated files, it is necessary
      to tell automake that the generated files must be distributed
      but not directly compiled (since they are included into the
      body of a larger .c file that is compiled).  Hence, even though
      these files are code and not headers in the strict sense of
      the word, it is easier to rename them to .h for automake's sake.
      
      * daemon/remote_client_bodies.c: Rename to .h.
      * daemon/qemu_client_bodies.c: Likewise.
      * src/remote/remote_client_bodies.c: Likewise.
      * src/remote/qemu_client_bodies.c: Likewise.
      * daemon/Makefile.am (remote_dispatch_bodies.c)
      (qemu_dispatch_bodies.c): Rename to .h.
      (remote.c, EXTRA_DIST): Reflect rename.
      * daemon/remote.c: Likewise.
      * daemon/remote_generator.pl: Likewise.
      * src/Makefile.am (remote/remote_driver.c): Likewise.
      * src/remote/remote_driver.c: Likewise.
      * po/POTFILES.in: Likewise.
      * cfg.mk (exclude_file_name_regexp--sc_require_config_h)
      (exclude_file_name_regexp--sc_require_config_h_first)
      (exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF):
      Likewise.
      d3c5104d
    • M
      remote generator, daemon: Output function bodies too · aff1db9f
      Matthias Bolte 提交于
      This patch just covers the simple functions without explicit return
      values. There is more to be handled.
      
      The generator collects the members of the XDR argument structs and uses
      this information to generate the function bodies.
      
      Exclude the generated files from offending syntax-checks.
      
      Suggested by Richard W.M. Jones
      aff1db9f
    • M
      remote generator: Replace tabs with spaces and rename file · 999f5b3e
      Matthias Bolte 提交于
      No functional change included, just a whitespace change.
      999f5b3e
  15. 18 4月, 2011 1 次提交
    • A
      Experimental libvirtd upstart job · 16d6b0d8
      Alan Pevec 提交于
      To install it, disable libvirtd sysv initscript:
          chkconfig libvirtd off
          service libvirtd stop
      
      and enable libvirtd upstart job:
          cp  /usr/share/doc/libvirt-*/libvirtd.upstart \
              /etc/init/libvirtd.conf
          initctl reload-configuration
          initctl start libvirtd
      
      Test:
          initctl status libvirtd
      libvirtd start/running, process 3929
          killall -9 libvirtd
          initctl status libvirtd
      libvirtd start/running, process 4047
      
      I looked into the possibility to use the upstart script from Ubuntu or
      at least getting inspiration from it but that's not possible. "expect
      daemon" is a nice thing but it only works if the process is defined with
      exec stanza instead of script ... no script. Unfortunately, with exec
      stanza environment variables can only be set within upstart script
      (i.e., configuration in /etc/sysconfig/libvirtd can't work). Hence, we
      need to use script stanza, source sysconfig, and execute libvirtd
      without --daemon. For similar reasons we can't use limit stanza and need
      to handle DAEMON_COREFILE_LIMIT in job's script.
      16d6b0d8
  16. 06 4月, 2011 1 次提交
  17. 28 3月, 2011 1 次提交
    • 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
  18. 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
  19. 09 3月, 2011 1 次提交
    • W
      build: fix building error when building without libvirtd · 7e07a401
      Wen Congyang 提交于
      When building libvirt without libvirtd, I receive the following errors:
      make[1]: Leaving directory `/home/wency/source/test/libvirt/src'
       (cd daemon && make  top_distdir=../libvirt-0.8.8 distdir=../libvirt-0.8.8/daemon \
           am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
      make[1]: Entering directory `/home/wency/source/test/libvirt/daemon'
      make[1]: *** No rule to make target `libvirtd.8.in', needed by `distdir'.  Stop.
      
      This bug was caused by commit 6db98a2d.
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7e07a401
  20. 07 3月, 2011 1 次提交
    • D
      Move event code out of the daemon/ into src/util/ · 343eaa15
      Daniel P. Berrange 提交于
      The event loop implementation is used by more than just the
      daemon, so move it into the shared area.
      
      * daemon/event.c, src/util/event_poll.c: Renamed
      * daemon/event.h, src/util/event_poll.h: Renamed
      * tools/Makefile.am, tools/console.c, tools/virsh.c: Update
        to use new virEventPoll APIs
      * daemon/mdns.c, daemon/mdns.c, daemon/Makefile.am: Update
        to use new virEventPoll APIs
      343eaa15
  21. 04 3月, 2011 1 次提交
    • D
      Add logrotate support for libvirtd.log · e7aeed00
      Daniel Veillard 提交于
      As the file may grow quite a bit especially with debug turned on.
      * daemon/libvirtd.logrotate.in daemon/Makefile.am libvirt.spec.in:
        add new logrotate file for the daemon log
      e7aeed00
  22. 22 2月, 2011 1 次提交
    • E
      build: don't require pod2man for tarball builds · 6db98a2d
      Eric Blake 提交于
      Right now, 'man libvirtd' includes information that depends on
      configure results, so it must be generated on the fly and live
      in $(builddir); however, requiring pod2man on all end user
      machines is overkill.  Meanwhile, 'man virsh' doesn't mention
      any configure results, so it can be built at 'make dist' time.
      If that situation changes in the future, we can generate virsh.1
      in the same way that we generate libvirtd.8.
      
      * daemon/Makefile.am (libvirtd.8.in): New rule, to run pod2man in
      advance of distribution.
      (libvirtd.8): Use only sed from tarball.
      (EXTRA_DIST): Ship new file.
      (libvirtd.pod): Delete unused rule.
      (man8_MANS): Let automake know which section to use.
      (CLEANFILES, MAINTAINERCLEANFILES): Adjust to new files.
      * tools/Makefile.am (dist_man1_MANS): Distribute pre-built man
      pages, fine since they don't require any substitution.
      (virt-xml-validate.1, virt-pki-validate.1): Change input source.
      (virsh.1): Build into srcdir.
      (CLEANFILES, MAINTAINERCLEANFILES): Adjust to new build style.
      * daemon/.gitignore: Update.
      Reported by Diego Elio Pettenò.
      6db98a2d
  23. 29 1月, 2011 1 次提交
    • E
      qemu: fix augeas support for vnc_auto_unix_socket · 6fc1159d
      Eric Blake 提交于
      Fixes test failure that was overlooked after commit 1e1f7a89.
      
      * daemon/Makefile.am (check-local): Let 'make check' fail on error.
      * daemon/test_libvirtd.aug: Move qemu-specific option...
      * src/qemu/test_libvirtd_qemu.aug: ...into correct test.
      * src/qemu/libvirtd_qemu.aug: Parse new option.
      6fc1159d
  24. 22 12月, 2010 1 次提交
    • E
      maint: avoid space-tab · 831aaf4a
      Eric Blake 提交于
      * daemon/Makefile.am: Avoid spurious space before tabs.
      * src/Makefile.am: Likewise.
      * examples/dominfo/Makefile.am: Likewise.
      * examples/domsuspend/Makefile.am: Likewise.
      * tools/Makefile.am: Likewise.
      * src/datatypes.h (VIR_CONNECT_MAGIC): Likewise.
      * src/internal.h (TODO): Likewise.
      * src/qemu/qemu_monitor.h (QEMU_MONITOR_MIGRATE): Likewise.
      * src/xen/xen_hypervisor.c (XEN_V2_OP_GETAVAILHEAP): Likewise.
      * src/xen/xs_internal.h: Likewise.
      831aaf4a
  25. 17 11月, 2010 1 次提交
    • E
      maint: use gnulib configmake rather than open-coding things · 0d5f54bb
      Eric Blake 提交于
      * bootstrap.conf (gnulib_modules): Add configmake.
      * daemon/Makefile.am (libvirtd_CFLAGS): Drop defines provided by
      gnulib.
      * src/Makefile.am (INCLUDES): Likewise.
      * tests/Makefile.am (INCLUDES): Likewise.
      * tools/Makefile.am (virsh_CFLAGS): Likewise.
      * daemon/libvirtd.c (qemudInitPaths, usage, main): Update
      clients.
      * src/cpu/cpu_map.c (CPUMAPFILE): Likewise.
      * src/driver.c (DEFAULT_DRIVER_DIR): Likewise.
      * src/internal.h (_): Likewise.
      * src/libvirt.c (virInitialize): Likewise.
      * src/lxc/lxc_conf.h (LXC_CONFIG_DIR, LXC_STATE_DIR, LXC_LOG_DIR):
      Likewise.
      * src/lxc/lxc_conf.c (lxcCapsInit, lxcLoadDriverConfig):
      Likewise.
      * src/network/bridge_driver.c (NETWORK_PID_DIR)
      (NETWORK_STATE_DIR, DNSMASQ_STATE_DIR, networkStartup): Likewise.
      * src/nwfilter/nwfilter_driver.c (nwfilterDriverStartup):
      Likewise.
      * src/qemu/qemu_conf.c (qemudLoadDriverConfig): Likewise.
      * src/qemu/qemu_driver.c (qemudStartup): Likewise.
      * src/remote/remote_driver.h (LIBVIRTD_PRIV_UNIX_SOCKET)
      (LIBVIRTD_PRIV_UNIX_SOCKET_RO, LIBVIRTD_CONFIGURATION_FILE)
      (LIBVIRT_PKI_DIR): Likewise.
      * src/secret/secret_driver.c (secretDriverStartup): Likewise.
      * src/security/security_apparmor.c (VIRT_AA_HELPER): Likewise.
      * src/security/virt-aa-helper.c (main): Likewise.
      * src/storage/storage_backend_disk.c (PARTHELPER): Likewise.
      * src/storage/storage_driver.c (storageDriverStartup): Likewise.
      * src/uml/uml_driver.c (TEMPDIR, umlStartup): Likewise.
      * src/util/hooks.c (LIBVIRT_HOOK_DIR): Likewise.
      * tools/virsh.c (main): Likewise.
      * docs/hooks.html.in: Likewise.
      0d5f54bb
  26. 23 10月, 2010 2 次提交
  27. 22 10月, 2010 1 次提交
    • D
      Add dtrace static probes in libvirtd · 968eb4e5
      Daniel P. Berrange 提交于
      Adds initial support for dtrace static probes in libvirtd
      daemon, assuming use of systemtap dtrace compat shim on
      Linux. The probes are inserted for network client connect,
      disconnect, TLS handshake states and authentication protocol
      states.
      
      This can be tested by running the xample program and then
      attempting to connect with any libvirt client (virsh,
      virt-manager, etc).
      
       # stap examples/systemtap/client.stp
        Client fd=44 connected readonly=0
        Client fd=44 auth polkit deny pid:24997,uid:500
        Client fd=44 disconnected
        Client fd=46 connected readonly=1
        Client fd=46 auth sasl allow test
        Client fd=46 disconnected
      
      The libvirtd.stp file should also really not be required,
      since it is duplicated info that is already available in
      the main probes.d definition file. A script to autogenerate
      the .stp file is needed, either in libvirtd tree, or better
      as part of systemtap itself.
      
      * Makefile.am: Add examples/systemtap subdir
      * autobuild.sh: Disable dtrace for mingw32
      * configure.ac: Add check for dtrace
      * daemon/.gitignore: Ignore generated dtrace probe file
      * daemon/Makefile.am: Build dtrace probe header & object
        files
      * daemon/libvirtd.stp: SystemTAP convenience probeset
      * daemon/libvirtd.c: Add connect/disconnect & TLS probes
      * daemon/remote.c: Add SASL and PolicyKit auth probes
      * daemon/probes.d: Master probe definition
      * daemon/libvirtd.h: Add convenience macro for probes
        so that compilation is a no-op when dtrace is not available
      * examples/systemtap/Makefile.am, examples/systemtap/client.stp
        Example systemtap script using dtrace probe markers
      * libvirt.spec.in: Enable dtrace on F13/RHEL6
      * mingw32-libvirt.spec.in: Force disable dtrace
      968eb4e5
  28. 20 10月, 2010 1 次提交
    • D
      Fix symbol exports & remove duplicated libvirt_util.la linkage · 9bd3cce0
      Daniel P. Berrange 提交于
      The libvirt_util.la library was mistakenly linked into libvirtd
      directly. Since libvirt_util.la is already linked to libvirt.so,
      this resulted in libvirtd getting two copies of the code and
      more critically 2 copies of static global variables.
      
      Testing in turn exposed a issue with loadable modules. The
      gnulib replacement functions are not exported to loadable
      modules. Rather than trying to figure out the name sof all
      gnulib functions & export them, just linkage all loadable
      modules against libgnu.la statically.
      
      * daemon/Makefile.am: Remove linkage of libvirt_util.la
        and libvirt_driver.la
      * src/Makefile.am: Link driver modules against libgnu.la
      * src/libvirt.c: Don't try to load modules which were
        compiled out
      * src/libvirt_private.syms: Export all other internal
        symbols that are required  by drivers
      9bd3cce0
  29. 10 9月, 2010 1 次提交
    • D
      Fix dependancies for remote generated files · 690583f7
      Daniel P. Berrange 提交于
      Very occasionally during a parallel make, dispatch.c would
      be compiled before the generated remote headers had been
      fully written. This would cause it to compile an empty
      union, and result in really wierd runtime bugs that are
      near impossible to diagnose.
      
      * daemon/Makefile.am: Fix remote build deps
      690583f7
  30. 07 9月, 2010 1 次提交
  31. 25 8月, 2010 1 次提交
    • J
      Move libvirt-guests init script and config to tools · 2c090a55
      Jiri Denemark 提交于
      Since libvirt-guests init script and its configuration do not require
      libvirtd to be running/installed, it was a bad idea to put them into
      daemon directory. libvirt.spec even includes these files in
      libvirt-client subpackage, which may result in build failure for
      client-only builds when the whole daemon directory is just skipped.
      2c090a55
  32. 06 8月, 2010 1 次提交
  33. 30 7月, 2010 1 次提交
    • E
      build: distribute libvirt_qemu.syms · 701f356a
      Eric Blake 提交于
      * src/Makefile.am (EXTRA_DIST): Ensure 'make distcheck' and
      'rpmbuild' can reproduce a build.
      * daemon/Makefile.am (DAEMON_SOURCES): Likewise.
      701f356a
  34. 24 7月, 2010 1 次提交
    • C
      Qemu remote protocol. · 337d201e
      Chris Lalancette 提交于
      Since we are adding a new "per-hypervisor" protocol, we
      make it so that the qemu remote protocol uses a new
      PROTOCOL and PROGRAM number.  This allows us to easily
      distinguish it from the normal REMOTE protocol.
      
      This necessitates changing the proc in remote_message_header
      from a "remote_procedure" to an "unsigned", which should
      be the same size (and thus preserve the on-wire protocol).
      
      Changes since v1:
       - Fixed up a couple of script problems in remote_generate_stubs.pl
       - Switch an int flag to a bool in dispatch.c
      
      Changes since v2:
       - None
      
      Changes since v3:
       - Change unsigned proc to signed proc, to conform to spec
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      337d201e