1. 23 10月, 2010 2 次提交
  2. 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
  3. 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
  4. 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
  5. 07 9月, 2010 1 次提交
  6. 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
  7. 06 8月, 2010 1 次提交
  8. 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
  9. 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
  10. 12 7月, 2010 1 次提交
  11. 09 7月, 2010 1 次提交
  12. 02 6月, 2010 1 次提交
    • E
      build: depend on correct file · 12f7ed93
      Eric Blake 提交于
      Otherwise, VPATH builds fail with:
      
      make[1]: *** No rule to make target `libvirt-guests.init', needed by `all'.
      
      Regression introduced in commit 482e08a9.
      
      * daemon/Makefile.am (%.init): Look in correct place for
      config.status.
      12f7ed93
  13. 22 5月, 2010 1 次提交
    • E
      build: force init scripts to rebuild on changed --prefix · 482e08a9
      Eric Blake 提交于
      Otherwise, './configure --prefix=/foo && make &&
       ./configure --prefix=/bar && make' leaves the wrong files
      in libvirtd.init (/foo instead of /bar).
      
      * daemon/Makefile.am (libvirtd.init): Add dependency on
      config.status.  Reported by Cole Robinson.
      482e08a9
  14. 21 5月, 2010 1 次提交
    • J
      Init script for handling guests on shutdown/boot · 66823690
      Jiri Denemark 提交于
      Example output during shutdown:
      
      Running guests on default URI: console, rhel6-1, rhel5-64
      Running guests on lxc:/// URI: lxc-shell
      Running guests on xen:/// URI: error: no hypervisor driver available for xen:///
      error: failed to connect to the hypervisor
      Running guests on vbox+tcp://orkuz/system URI: no running guests.
      Suspending guests on default URI...
      Suspending console: done
      Suspending rhel6-1: done
      Suspending rhel5-64: done
      Suspending guests on lxc:/// URI...
      Suspending lxc-shell: error: Failed to save domain 9cba8bfb-56f4-6589-2d12-8a58c886dd3b state
      error: this function is not supported by the hypervisor: virDomainManagedSave
      
      Note, the "Suspending $guest: " shows progress during the suspend phase
      if domjobinfo gives meaningful output.
      
      Example output during boot:
      
      Resuming guests on default URI...
      Resuming guest rhel6-1: done
      Resuming guest rhel5-64: done
      Resuming guest console: done
      Resuming guests on lxc:/// URI...
      Resuming guest lxc-shell: already active
      
      Configuration used for generating the examples above:
      URIS='default lxc:/// xen:/// vbox+tcp://orkuz/system'
      
      The script uses /var/lib/libvirt/libvirt-guests files to note all active
      guest it should try to resume on next boot. It's content looks like:
      
      default 7f8b9d93-30e1-f0b9-47a7-cb408482654b 085b4c95-5da2-e8e1-712f-6ea6a4156af2 fb4d8360-5305-df3a-2da1-07d682891b8c
      lxc:/// 9cba8bfb-56f4-6589-2d12-8a58c886dd3b
      66823690
  15. 20 5月, 2010 1 次提交
    • E
      docs: distribute more coding convention documentation · 33c721d3
      Eric Blake 提交于
      These files may be useful for anyone making modifications to
      source files in a tarball distribution.
      
      * src/Makefile.am (EXTRA_DIST): Add THREADS.txt.
      * daemon/Makefile.am (EXTRA_DIST): Add THREADING.txt.
      33c721d3
  16. 01 4月, 2010 1 次提交
  17. 27 3月, 2010 1 次提交
    • S
      Core driver implementation with ebtables support · 065b6571
      Stefan Berger 提交于
      This patch implements the core driver and provides
      - management functionality for managing the filter XMLs
      - compiling the internal filter representation into ebtables rules
      - applying ebtables rules on a network (tap,macvtap) interface
      - tearing down ebtables rules that were applied on behalf of an
      interface
      - updating of filters while VMs are running and causing the firewalls to
      be rebuilt
      - other bits and pieces
      Signed-off-by: NStefan Berger <stefanb@us.ibm.com>
      065b6571
  18. 10 3月, 2010 1 次提交
    • D
      Change logrotate to be per-hypervisor logs · 89bf843a
      Daniel Veillard 提交于
      Having a single logrotate configuration file for all hypervisors
      did not work as logrotate would get confused if an hypervisor not
      supported on that platform was still listed. Simplest is to split
      the logrotate as separate per hypervisor files and change the
      spec file to only install the ones compiled in.
      * daemon/libvirtd.lxc.logrotate.in daemon/libvirtd.qemu.logrotate.in
        daemon/libvirtd.uml.logrotate.in: copy and split the original
        daemon/libvirtd.logrotate.in file
      * daemon/Makefile.am: update to support the different files and
        cleanup in sed suggested by Eric Blake
      * libvirt.spec.in: only install the relevant logrotate configs
      * daemon/.gitignore: update logrotate generated list
      89bf843a
  19. 23 12月, 2009 1 次提交
    • M
      The secret driver is stateful, link it directly to libvirtd · a26d2628
      Matthias Bolte 提交于
      All other stateful drivers are linked directly to libvirtd
      instead of libvirt.so. Link the secret driver to libvirtd too.
      
      * daemon/Makefile.am: link the secret driver to libvirtd
      * daemon/libvirtd.c: add #ifdef WITH_SECRETS blocks
      * src/Makefile.am: don't link the secret driver to libvirt.so
      * src/libvirt_private.syms: remove the secretRegister symbol
      a26d2628
  20. 03 11月, 2009 1 次提交
    • M
      Fix --with-init-script configure option · 958c366b
      Matthew Booth 提交于
      * configure.in daemon/Makefile.am: the --with-init-script configure
        option was broken, and always defaulted based on the existence of
        /etc/redhat-release. This was a systematic typo based on
        mixed use of init-script and init-scripts.
      958c366b
  21. 08 10月, 2009 1 次提交
    • D
      Misc win32 build fixes · 7b1fe89a
      Daniel P. Berrange 提交于
      * daemon/Makefile.am: Fix missing sasl rule
      * src/datatypes.c: Add unistd.h to avoid gnulib bug
      * src/util/cgroup.c: Disable mntent if not available
      7b1fe89a
  22. 06 10月, 2009 1 次提交
    • M
      Create /var/log/libvirt/{lxc,uml} dirs · d285084b
      Mark McLoughlin 提交于
      Otherwise logrotate barfs:
      
        error: error accessing /var/log/libvirt/uml: No such file or directory
        error: libvirtd:1 glob failed for /var/log/libvirt/uml/*.log
        error: found error in /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/libvirt/lxc/*.log , skipping
      
      * qemud/Makefile.am: always create /var/log/libvirt/{lxc,uml} when
        installing the logrotate conf; not ideal, but easier than making
        the logrotate conf depend on which drivers are enabled
      d285084b
  23. 29 9月, 2009 1 次提交
    • D
      Helper functions for processing data streams in libvirtd · 11573f3e
      Daniel P. Berrange 提交于
      Defines the extensions to the remote protocol for generic
      data streams. Adds a bunch of helper code to the libvirtd
      daemon for working with data streams.
      
      * daemon/Makefile.am: Add stream.c/stream.h to build
      * daemon/stream.c, qemud/stream.h: Generic helper functions for
        creating new streams, associating streams with clients, finding
        existing streams for a client and removing/deleting streams.
      * src/remote/remote_protocol.x: Add a new 'REMOTE_STREAM' constant
        for the 'enum remote_message_type' for encoding stream data
        in wire messages. Add a new 'REMOTE_CONTINUE' constant to
        'enum remote_message_status' to indicate further data stream
        messsages are expected to follow.  Document how the
        remote_message_header is used to encode data streams
      * src/remote/remote_protocol.h: Regenerate
      * daemon/dispatch.c: Remove assumption that a error message
        sent to client is always type=REMOTE_REPLY. It may now
        also be type=REMOTE_STREAM. Add convenient method for
        sending outgoing stream data packets. Log and ignore
        non-filtered incoming stream packets. Add a method for
        serializing a stream error message
      * daemon/dispatch.h:  Add API for serializing stream errors
        and sending stream data packets
      * daemon/qemud.h: Add struct qemud_client_stream for tracking
        active data streams for clients. Tweak filter function
        operation so that it accepts a client object too.
      * daemon/qemud.c: Refactor code for free'ing message objects
        which have been fully transmitted into separate method.
        Release all active streams when client shuts down. Change
        filter function to be responsible for queueing the message
      11573f3e
  24. 23 9月, 2009 1 次提交
    • C
      Introduce virStrncpy. · 03d777f3
      Chris Lalancette 提交于
      Add the virStrncpy function, which takes a dst string, source string,
      the number of bytes to copy and the number of bytes available in the
      dest string.  If the source string is too large to fit into the
      destination string, including the \0 byte, then no data is copied and
      the function returns NULL.  Otherwise, this function copies n bytes
      from source into dst, including the \0, and returns a pointer to the
      dst string.  This function is intended to replace all unsafe uses
      of strncpy in the code base, since strncpy does *not* guarantee that
      the buffer terminates with a \0.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      03d777f3
  25. 21 9月, 2009 7 次提交
    • D
      Move remote protocol definition into src/remote/ · 634736a7
      Daniel P. Berrange 提交于
      When making changes to the remote protocol, src/ is always built
      first, so rpcgen should live there, to avoid having to run make
      in the 'daemon/' directory before building src/
      
      * src/Makefile.am: Add rules for rpcgen, and drop -I../daemon from
        remote client build
      * daemon/Makefile.am: Add -I../src/remote/ to libvirtd build
        and remove rpcgen rules
      * daemon/libvirtd.c: Adapt include of remote_driver.h taking
        into account new -I flag
      * daemon/remote_protocol.c, daemon/remote_protocol.h,
        daemon/remote_protocol.x: Move to src/remote/
      * daemon/rpcgen_fix.pl: Move to src/remote/rpcgen_fix.pl
      634736a7
    • D
      Move all shared utility files to src/util/ · 1355e055
      Daniel P. Berrange 提交于
      * src/bridge.c, src/bridge.h, src/buf.c, src/buf.h, src/cgroup.c,
        src/cgroup.h, src/conf.c, src/conf.h, src/event.c, src/event.h,
        src/hash.c, src/hash.h, src/hostusb.c, src/hostusb.h,
        src/iptables.c, src/iptables.h, src/logging.c, src/logging.h,
        src/memory.c, src/memory.h, src/pci.c, src/pci.h, src/qparams.c,
        src/qparams.h, src/stats_linux.c, src/stats_linux.h,
        src/threads-pthread.c, src/threads-pthread.h, src/threads-win32.c,
        src/threads-win32.h, src/threads.c, src/threads.h, src/util.c,
        src/util.h, src/uuid.c, src/uuid.h, src/virterror.c,
        src/virterror_internal.h, src/xml.c, src/xml.h: Move all files
        into src/util/
      * daemon/Makefile.am: Add -Isrc/util/ to build flags
      * src/Makefile.am: Add -Isrc/util/ to build flags and update for
        moved files
      * src/libvirt_private.syms: Export cgroup APIs since they're now
        in util rather than linking directly to drivers
      * src/xen/xs_internal.c: Disable bogus virEventRemoveHandle call
        when built under PROXY
      * proxy/Makefile.am: Update for changed file locations. Remove
        bogus build of event.c
      * tools/Makefile.am, tests/Makefile.am: Add -Isrc/util/ to build flags
      1355e055
    • D
      Move all XML configuration handling to src/conf/ · e0a48c99
      Daniel P. Berrange 提交于
      * src/capabilities.c, src/capabilities.h, src/domain_conf.c,
        src/domain_conf.h, src/domain_event.c, src/domain_event.h,
        src/interface_conf.c, src/interface_conf.h,
        src/network_conf.c, src/network_conf.h, src/node_device_conf.c,
        src/node_device_conf.h, src/secret_conf.c, src/secret_conf.h,
        src/storage_conf.c, src/storage_conf.h, src/storage_encryption_conf.c,
        src/storage_encryption_conf.h: Move to src/conf/
      * src/Makefile.am: Add -Isrc/conf to the individual build targets
        which need to use XML config APIs. Remove LIBXML_CFLAGS, LIBSSH2_CFLAGS
        and SELINUX_CFLAGS from global INCLUDES and only have them in build
        targets which actually need them.  Create a libvirt_conf.la
        convenience library for all config parsers
      * src/hostusb.h: Remove bogus include of domain_conf.h
      * tests/Makefile.am: Add -Isrc/conf. Remove bogus -I$builddir/src
        since it never has any generated header files
      * daemon/Makefile.am: Add -Isrc/conf
      * proxy/Makefile.am: Add -Isrc/conf and cope with renamed files
      * src/hash.c: Remove bogus include of libxml/threads.h
      e0a48c99
    • D
      Rename daemon main code · c00c6d03
      Daniel P. Berrange 提交于
      * daemon/qemud.c: Rename to daemon/libvirtd.c
      * daemon/qemud.h: Rename to daemon/libvirtd.h
      * daemon/Makefile.am, daemon/dispatch.h, daemon/mdns.c,
        daemon/remote.h: Update for renamed libvirtd.h file
      c00c6d03
    • D
      Move config files to align with driver sources · ec171c52
      Daniel P. Berrange 提交于
      * daemon/default-network.xml: Move to src/network/default.xml
      * daemon/libvirtd_qemu.aug, daemon/test_libvirtd_qemu.aug: Move
        to src/qemu/
      * src/qemu.conf: Move to src/qemu/qemu.conf
      * daemon/Makefile.am: Remove rules for default-nmetwork.xml and
        libvirtd_qemu.aug and test_libvirtd_qemu.aug. Fix typo in
        uninstall-local that would install polkit again.
      * src/Makefile.am: Add rules for installing network/default.xml
        and the qemu/*.aug files. Add test case for QEMU augeas files.
        Add uninstall-local rule for files/directories created during
        install. Rename install-exec-local to install-data-local.
        Only install qemu.conf if WITH_QEMU is set.
      * tests/networkschematest: Update for XML location move
      ec171c52
    • D
      Rename qemud/ directory to daemon/ · 5c2a1ae8
      Daniel P. Berrange 提交于
      * qemud/: Rename to daemon/
      * Makefile.am, configure.in, src/Makefile.am, src/remote_internal.c,
        tests/Makefile.am, tests/eventtest.c: s/qemud/daemon/ where needed
      5c2a1ae8
    • D
      Refactor libvirt.spec to allow client-only builds · fd5c9bb9
      Daniel P. Berrange 提交于
      Some architectures in certain RHEL versions do not include any
      hypervisors. Update the specfile to allow those to easily build
      a remote client only version of libvirt. ie no libvirtd related
      bits at all.
      
      * qemud/Makefile.am: Always instal SASL config since its needed
        by client too
      * libvirt.spec.in: Re-factor specfile conditionals to allow entire
        server side build to be disabled easily, eg a remote client only
        build. Make RHEL-5 do client only build for s390/ppc. Make RHEL-6
        do a client only build for all non-x86_64 archs. Enable LXC on
        RHEL-6. Enable all Fedora >= 6 features on RHEL-6 too. Add some
        more conditionals around dnsmasq/iptables/hal Requires tags.
        Add missing e2fsprogs-devel BR for RHEL-5 as workaround for broken
        parted. Fix the device mapper BR for RHEL-5. Add conditional rules
        for ESX build. Add conditional rules for SELinux + HAL builds.
        Fix a mistaken %{with_qemu} to be %{with_network} when setting
        up default network XML
      fd5c9bb9
  26. 25 8月, 2009 1 次提交
    • D
      Support new PolicyKit 1.0 API · 8e06c8b3
      Daniel P. Berrange 提交于
      * configure.in: Check for pkcheck which indicates new policykit
      * qemud/Makefile.am: Install different versions of policy
      * qemud/libvirtd.policy: Rename to libvirtd.policy-0
      * qemud/libvirtd.policy-1: new style policy
      * qemud/qemud.c, qemud/qemud.h, qemud/remote.c: Support new
        policykit API via external pkcheck helper
      * src/remote_internal.c: Don't prompt for polkit auth with new
        policykit API
      * libvirt.spec.in: deal with new policy install locations & deps
      8e06c8b3
  27. 21 7月, 2009 1 次提交
    • L
      Netcf based interface driver implementation · da4f146f
      Laine Stump 提交于
      * src/interface_driver.c src/interface_driver.h: the new driver
      * src/Makefile.am qemud/Makefile.am qemud/qemud.c: hook the new driver
        in the build system and get ti activated by the daemon
      * src/libvirt_private.syms: export needed symbols internally
      da4f146f
  28. 16 7月, 2009 1 次提交
    • D
      Split generic RPC message dispatch code out from remote protocol API handlers · a147ef38
      Daniel P. Berrange 提交于
      * po/POTFILES.in: Add qemud/dispatch.c
      * qemud/dispatch.c, qemud/dispatch.h: Generic code handling dispatch of
        RPC messages.
      * qemud/Makefile.am: Add dispatch.c to build
      * qemud/qemud.c: Include dispatch.h
      * qemud/qemud.h: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.h
      * qemud/remote.c: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.c, and dispatch_args, dispatch_ret, dispatch_fn & dispatch_data
        now in remote.h
      * qemud/remote.h: Add typedefs for dispatch_args, dispatch_ret,
        dispatch_fn, dispath_data. Add remoteGetDispatchData() API
      a147ef38
  29. 29 5月, 2009 1 次提交
  30. 25 5月, 2009 1 次提交
    • D
      Include the OpenNebula driver · b811851b
      Daniel Veillard 提交于
      * src/opennebula/one_conf.[ch] src/opennebula/one_driver.[ch]:
        the OpenNebula driver
      * configure.in include/libvirt/virterror.h qemud/Makefile.am
        qemud/qemud.c src/Makefile.am src/domain_conf.[ch] src/driver.h
        src/libvirt.c src/virterror.c: integration of the OpenNebula
        driver in the libvirt infrastructure
      * AUTHORS: add Abel Miguez Rodriguez
      daniel
      b811851b
  31. 19 5月, 2009 1 次提交
  32. 17 2月, 2009 2 次提交