1. 07 9月, 2012 5 次提交
    • P
      qemu: clean up qemuSetSchedulerParametersFlags() · 3e250b36
      Peter Krempa 提交于
      This patch tries to clean the code up a little bit and shorten very long
      lines.
      
      The apparent semantic change from moving the condition before calling
      the setter function is a non-issue here as the setter function is a
      no-op when called with both arguments zero.
      3e250b36
    • O
      virsh: Improve the document for pool-list · 6cdf0aaf
      Osier Yang 提交于
      Which is lost by commit 93a346d3.
      6cdf0aaf
    • E
      nwfilter: drop use of awk · ddd8c3b9
      Eric Blake 提交于
      Commit 2a41bc95 dropped a dependency on gawk, but we can go one step
      further and avoid awk altogether.
      
      * src/nwfilter/nwfilter_ebiptables_driver.c
      (iptablesLinkIPTablesBaseChain): Simplify command.
      (ebiptablesDriverInit, ebiptablesDriverShutdown): Drop awk probe.
      ddd8c3b9
    • G
      remove dnsmasq command line parameter "--filterwin2k" · f20b7dbe
      Gene Czarcinski 提交于
      This patch removed the "--filterwin2k" dnsmasq command line
      parameter which was unnecessary for domain specification,
      possibly blocked some usage, and was command line clutter.
      
      Gene Czarcinski <gene@czarc.net>
      f20b7dbe
    • E
      build: improved handling of <execinfo.h>, BSD <net/if.h> · ccaf0bee
      Eric Blake 提交于
      FreeBSD and OpenBSD have a <net/if.h> that is not self-contained;
      and mingw lacks the header altogether.  But gnulib has just taken
      care of that for us, so we might as well simplify our code.  In
      the process, I got a syntax-check failure if we don't also take
      the gnulib execinfo module.
      
      * .gnulib: Update to latest, for execinfo and net_if.
      * bootstrap.conf (gnulib_modules): Add execinfo and net_if modules.
      * configure.ac: Let gnulib check for headers.  Simplify check for
      'struct ifreq', while also including enough prereq headers.
      * src/internal.h (IF_NAMESIZE): Drop, now that gnulib guarantees it.
      * src/nwfilter/nwfilter_learnipaddr.h: Use correct header for
      IF_NAMESIZE.
      * src/util/virnetdev.c (includes): Assume <net/if.h> exists.
      * src/util/virnetdevbridge.c (includes): Likewise.
      * src/util/virnetdevtap.c (includes): Likewise.
      * src/util/logging.c (includes): Assume <execinfo.h> exists.
      (virLogStackTraceToFd): Handle gnulib's fallback implementation.
      ccaf0bee
  2. 06 9月, 2012 25 次提交
    • E
      build: avoid tabs that failed syntax-check · b6a14aec
      Eric Blake 提交于
      Introduced in commit f299ddd6.
      
      * src/check-symfile.pl: Fix whitespace.
      * .dir-locals.el (perl-mode): Prevent future occurrences.
      b6a14aec
    • E
      list: fix typo in virsh patch · 9a6e5751
      Eric Blake 提交于
      A last minute rename in commit fc122e1a to virsh.h was not properly
      reflected when rebasing virsh-pool.c in commit 93a346d3.
      
      * tools/virsh-pool.c (vshStoragePoolListCollect): Use VSH_MATCH,
      not MATCH.
      9a6e5751
    • D
      Remove duplicate symbols and add test case · f299ddd6
      Daniel P. Berrange 提交于
      When the event symbols were added to the public API, not all
      of them were removed from the private exports list. Solaris
      gets unhappy when there are duplicated symbols. Extend the
      symfile check to test for this scenario
      f299ddd6
    • O
      python: Expose virStorageListAllStoragePools to python binding · 92785780
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      python/libvirt-override-virConnect.py: Add listAllStoragePools
      python/libvirt-override.c: Implementation for the wrapper.
      92785780
    • O
      list: Use virConnectListAllStoragePools in virsh · 93a346d3
      Osier Yang 提交于
      tools/virsh-pool.c:
        * vshStoragePoolSorter to sort the pool list by pool name.
      
        * struct vshStoragePoolList to present the pool list, pool info
          is collected by list->poolinfo if 'details' is specified by
          user.
      
        * vshStoragePoolListFree to free the pool list
      
        * vshStoragePoolListCollect to collect the pool list, new API
          virStorageListAllPools is tried first, if it's not supported,
          fall back to older APIs.
      
        * New options --persistent, --transient, --autostart, --no-autostart
          and --type for pool-list. --persistent or --transient is to filter
          the returned pool list by whether the pool is persistent or not.
          --autostart or --no-autostart is to filter the returned pool list
          by whether the pool is autostarting or not. --type is to filter
          the pools by pool types. E.g.
      
          % virsh pool-list --all --persistent --type dir,disk
      
      tools/virsh.pod:
         * Add documentations for the new options.
      93a346d3
    • O
      list: Change MATCH for common use in virsh · fc122e1a
      Osier Yang 提交于
      Move definition of MATCH from virsh-domain-monitor.c into
      virsh.h, and rename it as VSH_MATCH for further use.
      
      * tools/virsh-domain-monitor.c: Change MATCH into VSH_MATCH
      * tools/virsh.h: Define VSH_MATCH
      fc122e1a
    • O
      virsh: Fix the wrong doc for pool-list · 974a6330
      Osier Yang 提交于
      The storage pool's management doesn't relate with a domain, it
      probably was an intention, but not achieved yet. And the fact
      is only active pools are listed by default.
      974a6330
    • O
      list: Add helper to convert strings separated by ', ' to array · f7eac4f7
      Osier Yang 提交于
      tools/virsh.c: New helper function vshStringToArray.
      tools/virsh.h: Declare vshStringToArray.
      tools/virsh-domain.c: use the helper in cmdUndefine.
      f7eac4f7
    • O
      list: Implement listAllStoragePools for test driver · cf458628
      Osier Yang 提交于
      src/test/test_driver.c: Implement listAllStoragePools
      cf458628
    • O
      list: Implement listAllStoragePools for storage driver · c71f989b
      Osier Yang 提交于
      src/storage/storage_driver.c: Implement listAllStoragePools.
      c71f989b
    • O
      list: Implement the RPC calls for virConnectListAllStoragePools · 17fd0088
      Osier Yang 提交于
      The RPC generator doesn't support returning list of object, this patch does
      the work manually.
      
        * daemon/remote.c:
          Implement the server side handler remoteDispatchConnectListAllStoragePools
      
        * src/remote/remote_driver.c:
          Add remote driver handler remoteConnectListAllStoragePools.
      
        * src/remote/remote_protocol.x:
          New RPC procedure REMOTE_PROC_CONNECT_LIST_ALL_STORAGE_POOLS and
          structs to represent the args and ret for it.
      
        * src/remote_protocol-structs: Likewise.
      17fd0088
    • O
      list: Add helpers for listing storage pool objects · 84208a4a
      Osier Yang 提交于
      src/conf/storage_conf.c: Add virStoragePoolMatch to filter the
      pools; Add virStoragePoolList to iterate over the pool objects
      with filter.
      
      src/conf/storage_conf.h: Declare virStoragePoolMatch,
      virStoragePoolList, and the macros for filters.
      
      src/libvirt_private.syms: Export helper virStoragePoolList.
      84208a4a
    • O
      list: Define new API virStorageListAllStoragePools · 075c754a
      Osier Yang 提交于
      This introduces a new API to list the storage pool objects,
      4 groups of flags are provided to filter the returned pools:
      
        * Active or not
      
        * Autostarting or not
      
        * Persistent or not
      
        * And the pool type.
      
      include/libvirt/libvirt.h.in: New enum virConnectListAllStoragePoolFlags;
                                    Declare the API.
      python/generator.py: Skip the generating
      src/driver.h: (virDrvConnectListAllStoragePools)
      src/libvirt.c: Implementation for the API.
      src/libvirt_public.syms: Export the symbol.
      075c754a
    • P
      esx: Add implementation for virConnectListAllDomains() · 9e0ba44f
      Peter Krempa 提交于
      ESX doesn't use the common virDomainObj implementation so this patch
      adds a separate implementation.
      
      This driver supports all currently defined filtering flags, but as with
      other drivers some combinations yield a empty result list.
      9e0ba44f
    • P
      hyperv: Add implementation for virConnectListAllDomains() · 60d0ecda
      Peter Krempa 提交于
      Hyperv doesn't use the common virDomainObj implementation so this patch
      adds a separate implementation.
      
      This driver supports all currently added flags for filtering although
      some of those don't make sense with this driver (no support yet) and
      thus produce no output when used.
      60d0ecda
    • J
      Define DYNLIB_NAME on OpenBSD. · edc67a6f
      Jasper Lievisse Adriaanse 提交于
      edc67a6f
    • E
      build: avoid test failure when sasl was not compiled in · 5d3b65f9
      Eric Blake 提交于
      On systems without cyrus-sasl-devel available (I happened to be
      in that situation on my FreeBSD testing), this test fails rather
      miserably:
      
      TEST: libvirtdconftest
            .....!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!  39  FAIL
      FAIL: libvirtdconftest
      
      with verbose output showing things like:
      
      39) Test corruption                                          ... libvir: Config File error : unsupporeted configuration: remoteReadConfigFile: /usr/home/dummy/libvirt/tests/../daemon/libvirtd.conf: auth_tcp: unsupported auth sasl
      
      * tests/libvirtdconftest.c (testCorrupt): Avoid failure when sasl
      is missing.
      5d3b65f9
    • E
      build: avoid check-symfile on non-Linux · ae94cf2d
      Eric Blake 提交于
      I tested both OpenBSD and cygwin; both failed 'make check' with:
      
        GEN    check-symfile
      Can't return outside a subroutine at ./check-symfile.pl line 13.
      
      Perl requires 'exit 77' instead of 'return 77' in that context,
      but even with that tweak, the build still fails, since the exit
      code of 77 is only special to explicit TESTS=foo listings, and
      not to make-only dependency rules where we are not going through
      automake's test framework.
      
      * src/check-symfile.pl: Kill bogus platform check...
      * src/Makefile.am (check-symfile): ...and replace with an automake
      conditional.
      ae94cf2d
    • L
      network: prevent infinite hang if ovs-vswitchd isn't running · 98e732fc
      Laine Stump 提交于
      This fixes https://bugzilla.redhat.com/show_bug.cgi?id=852984
      
      If a network or interface is configured to use Open vSwitch, but
      ovs-vswitchd (the Open vSwitch database service) isn't running, the
      ovs-vsctl add-port/del-port commands will hang indefinitely rather
      than returning an error. There is a --nowait option, but that appears
      to have no effect on add-port and del-port commands, so instead we add
      a --timeout=5 to the commands - they will retry for up to 5 seconds,
      then fail if there is no response.
      98e732fc
    • L
      build: require netcf-0.2.2 when installing on Fedora18+ · 89810fc4
      Laine Stump 提交于
      A previous patch forced libnl-3 and netcf-0.2.2 (which itself requires
      libnl-3) when *building* for Fedora 18+ (and RHEL 7+), but the
      install-time Requires: for netcf has always been implicit due to
      libvirtd linking with libnetcf.so. However, the since the API of netcf
      didn't change when it was rebuilt to use libnl-3, the internal library
      version didn't change either, making it possible (from rpm's point of
      view) to upgrade libvirt without upgrading netcf (in reality, that
      leads to a segfault - see
      https://bugzilla.redhat.com/show_bug.cgi?id=853381).
      
      The solution is to put an explicit Requires: line in libvirt's
      specfile for fedora >= 18 and rhel >= 7.
      89810fc4
    • E
      build: don't fail when xsltproc is missing · d51024ae
      Eric Blake 提交于
      On a machine without xsltproc, the build failed with:
      
      Scripting search.php
      /usr/local/bin/bash: line 1: search.php.tmp: No such file or directory
      rm: ./search.php: No such file or directory
      
      Regression introduced in commit 28183590.
      
      * docs/Makefile.am (%.php): Skip in the same conditions when the
      .tmp file is skipped.
      d51024ae
    • E
      build: avoid warnings from gcc 4.2.1 · c579d6b3
      Eric Blake 提交于
      OpenBSD ships with gcc 4.2.1, which annoyingly treats all format
      strings as though they were also attribute((nonnull)).  The two
      concepts are orthogonal, though, as evidenced by the number of
      spurious warnings it generates on uses where we know that
      virReportError specifically handles NULL instead of a format
      string; worse, since we now force -Werror on git builds, it
      prevents development builds on OpenBSD.
      
      I hate to do this, as it disables ALL format checking on older
      gcc, and therefore misses out on some useful checks (code that
      happened to compile on Linux may still have type mismatches
      when compiled on other platforms, as evidenced by the number
      of times I have fixed formatting mismatches for uid_t as found
      by warnings on Cygwin), but I don't see any other way to keep
      -Werror alive and still compile on OpenBSD.
      
      A more invasive change would be to make virReportError() mark
      its format attribute as nonnull, and fix (a lot of) fallout;
      we may end up doing that anyways as part of danpb's error
      refactoring improvements, but not today.
      
      * src/internal.h (ATTRIBUTE_FMT_PRINTF): Use preferred spellings.
      * m4/virt-compile-warnings.m4 (-Wformat): Disable on older gcc.
      c579d6b3
    • M
      qemu: don't pin all the cpus · 9f86fb93
      Martin Kletzander 提交于
      This is another fix for the emulator-pin series. When going through
      the cputune pinning settings, the current code is trying to pin all
      the CPUs, even when not all of them are specified. This causes error
      in the subsequent function which, of course, cannot find the cpu to
      pin. Since it's enough to pass the correct VCPU ID to the function,
      the fix is trivial.
      9f86fb93
    • E
      maint: avoid doubled name in syntax check failures · 60efb600
      Eric Blake 提交于
      Based on the similar gnulib commit 96ad9077.  The use of
      $(_sc_search_regexp) already injects $(ME) into any output
      messages, so a failure of these rules would look like this,
      pre-patch:
      
      maint.mk: maint.mk: use virStrToLong_*, not strtol variants
      
      * cfg.mk (sc_prohibit_strncmp, sc_prohibit_strtol)
      (sc_libvirt_unmarked_diagnostics): Drop redundant $(ME).
      60efb600
    • E
      build: use re-entrant functions in virsh · 44342a0e
      Eric Blake 提交于
      Yesterday's commit 15d2c9fa pointed out that virsh was still using
      localtime(), which is not thread-safe, even though virsh is
      definitely multi-threaded.  Even if we only ever triggered it from
      one thread, it's better safe than sorry for maintenance purposes.
      
      * cfg.mk (exclude_file_name_regexp--sc_prohibit_nonreentrant):
      Tighten the rule.
      * tools/virsh.c (vshOutputLogFile): Avoid localtime.
      (vshEditWriteToTempFile, vshEditReadBackFile, cmdCd, cmdPwd)
      (vshCloseLogFile): Avoid strerror.
      * tools/console.c (vshMakeStdinRaw): Likewise.
      * tools/virsh-domain.c (vshGenFileName): Fix spacing in previous
      patch.
      44342a0e
  3. 05 9月, 2012 7 次提交
    • D
      Remove explicit dependency on ceph RPM · 8386b304
      Daniel P. Berrange 提交于
      The libvirt storage driver uses librbd.so for its functionality.
      RPM will automatically add a dependency on the library, so there
      is no need to have an explicit dependency on the ceph RPM itself.
      This allows newer Fedora distros to avoid pulling in the huge
      ceph RPM, in favour of just having the libraries installed
      8386b304
    • J
      qemu: Do not require auth scheme in graphics events · 965ccdd1
      Jiri Denemark 提交于
      Only VNC_{{DIS,}CONNECTED,INITIALIZED} and SPICE_INITIALIZED events are
      documented to support server/auth field and even there it is marked as
      optional. Emit "" auth scheme in case QEMU didn't send it.
      965ccdd1
    • M
      conf: describe security_driver behavior · 95fbc833
      Martin Kletzander 提交于
      As a request was raised for this, I added few lines in the "Notes"
      part of the "security_driver" comments about allowed values.
      95fbc833
    • M
      docs: correct dompmwakeup description · aa698a49
      Martin Kletzander 提交于
      aa698a49
    • P
      Pass a correct pointer type to localtime_r(3). · 15d2c9fa
      Paul Eggert 提交于
      On 09/04/2012 08:20 AM, Eric Blake wrote:
      > tv_sec is required by POSIX to be
      > of type time_t; so this is a bug in the OpenBSD header
      > [for declaring it as long]
      
      Most likely this problem arose because of the patch I pushed
      in gnulib commit e07d7c40f3ca5ec410cf5aa6fa03cfe51e712039.
      Previously, gnulib required timeval's tv_sec to be
      the same size as time_t.  But now, it requires only that
      tv_sec be big enough to hold a time_t.
      
      This patch was needed for Emacs.  Without the patch, gnulib
      replaced struct timeval on OpenBSD, and this messed up
      utimens.c, and Emacs wouldn't build.
      
      Alternatively, gnulib could substitute its own struct timeval
      for the system's, wrapping every struct timeval-using function
      (gettimeofday, futimesat, futimes, lutimes, etc.  That'd be
      more work, though.  And it would introduce some performance
      issues with gettimeofday, which is supposed to be fast.
      
      I've been trying to get away from using struct timeval,
      and to use the higher-resolution struct timespec instead,
      so messing with these obsolescent interfaces has been
      lower priority for me.  But if someone wants to take the
      more-ambitious approach that'd be fine, I expect.
      
      For this particular case, though, how about if we avoid
      the problem entirely?  libvirt doesn't need to use struct
      timeval here at all.  It makes libvirt smaller and probably
      faster, and it ports to OpenBSD without messing with gnulib.
      15d2c9fa
    • E
      build: use correct libraries for clock_gettime · d74e5a4d
      Eric Blake 提交于
      On OpenBSD, clock_gettime() exists in libc rather than librt, and
      blindly linking with -lrt made the build fail.  Gnulib already
      did the work for determining which libraries to use, so we should
      reuse that work rather than doing it ourselves.
      
      * bootstrap.conf (gnulib_modules): Pull in clock-time.
      * configure.ac (RT_LIBS): Drop.
      * src/Makefile.am (libvirt_util_la_LIBADD): Use gnulib variable
      instead.
      * src/util/virtime.c (includes): Simplify.
      d74e5a4d
    • J
      afa67b77
  4. 04 9月, 2012 3 次提交
    • V
      Rename iolimit to blockio. · 72f1f220
      Viktor Mihajlovski 提交于
      After discussion with DB we decided to rename the new iolimit
      element as it creates the impression it would be there to
      limit (i.e. throttle) I/O instead of specifying immutable
      characteristics of a block device.
      This is also backed by the fact that the term I/O Limits has
      vanished from newer storage admin documentation.
      Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
      72f1f220
    • J
      qemu: Fix reboot with guest agent · 03c42a45
      Jiri Denemark 提交于
      When reboot using qemu guest agent was requested, qemu driver kept
      waiting for SHUTDOWN event from qemu. However, such event is never
      emitted during guest reboot and qemu driver would keep waiting forever.
      03c42a45
    • D
      Fix mingw64 build by using intptr_t for int->void* casts · 8675406c
      Daniel P. Berrange 提交于
      The viratomictest.c was casting from an int to a void* via a
      long. This works on Linux or Mingw32, but fails on Mingw64
      due to a pointer/integer size mis-match. Replacing 'long'
      with 'intptr_t' ensures matching type sizes
      8675406c