1. 16 5月, 2013 7 次提交
    • E
      string: test VIR_STRDUP · 504b4a8d
      Eric Blake 提交于
      The surest way to avoid regressions is to test documented behavior :)
      
      * tests/virstringtest.c (testStrdup): New test case.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      504b4a8d
    • G
      virsh: lookup interface by name or mac other than one by one · 36c0a791
      Guannan Ren 提交于
      Use virMacAddrParse() to distinguish interface name from interface
      mac address.
      36c0a791
    • S
      nwfilter: check for inverted ctdir · a6a04ea4
      Stefan Berger 提交于
      Linux netfilter at some point (Linux 2.6.39) inverted the meaning of the
      '--ctdir reply' and newer netfilter implementations now expect
      '--ctdir original' instead and vice-versa.
      We check for the kernel version and assume that all Linux kernels with version
      2.6.39 have the newer inverted logic.
      
      Any distro backporting the Linux kernel patch that inverts the --ctdir logic
      (Linux commit 96120d86f) must also backport this patch for Linux and
      adapt the kernel version being tested for.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      a6a04ea4
    • R
      FreeBSD: disable buggy -fstack-protector-all · cc7cd623
      Roman Bogorodskiy 提交于
      FreeBSD ships an old gcc 4.2.1 which generates
      bogus code, e.g. getsockopt() call returns
      struct xucred with bogus values, which doesn't even
      allow to connect to libvirtd:
      
      error: Failed to find group record for gid '1284660778': No error: 0
      
      So roll back to just -fstack-protector on FreeBSD.
      cc7cd623
    • J
      Adjust improperly formatted <sysinfo> uuid · a2c37618
      John Ferlan 提交于
      If the <sysinfo> system table 'uuid' field is improperly formatted,
      then qemu will fail to start the guest with the error:
      
      virsh start dom
      error: Failed to start domain dom
      error: internal error process exited while connecting to monitor: Invalid SMBIOS UUID string
      
      This was because the parsing rules were lax with respect to allowing extraneous
      spaces and dashes in the provided UUID.  As long as there were 32 hexavalues
      that matched the UUID for the domain the string was accepted. However startup
      failed because the string format wasn't correct. This patch will adjust the
      string format so that when it's presented to the driver it's in the expected
      format.
      
      Added a test for uuid comparison within sysinfo.
      a2c37618
    • J
      Validate the bios_date format for <sysinfo> · 21540f5e
      John Ferlan 提交于
      Add incorrectly formatted bios_date validation test
      21540f5e
    • J
      docs: Fix/update syntax in Sysinfo/SMBIOS description · 14b3cac5
      John Ferlan 提交于
      14b3cac5
  2. 15 5月, 2013 21 次提交
  3. 14 5月, 2013 12 次提交
    • D
      Forbid use of ':' in RBD pool names · 2a2bc151
      Daniel P. Berrange 提交于
      The QEMU command line syntax for RBD disks is
      
         file=rbd:pool/image:opt1=val1:opt2=val2...
      
      There is no way to escape the ':' if it appears in the
      pool or image name. Thus it must be explicitly forbidden
      if it occurs in the libvirt XML. People are known to
      be abusing the lack of escaping in current libvirt to
      pass arbitrary args to QEMU.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      2a2bc151
    • D
      Don't duplicate compiler warning flags when linking · 71b54636
      Daniel P. Berrange 提交于
      Automake already passes all CFLAGS to the linker too, so it
      is not necessary to set WARN_LDFLAGS in addition to the
      WARN_CFLAGS variable.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      71b54636
    • D
      Only pass -export-dynamic to linker, not compiler · 421846e4
      Daniel P. Berrange 提交于
      Clang does not like the -export-dynamic flag. The compiler does
      not need it in the first place, so we can avoid the problem by
      only setting it for the linker
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      421846e4
    • D
      Correctly detect warning flags with clang · c1634100
      Daniel P. Berrange 提交于
      Clang will happily claim to support any warning flags
      unless the -Werror and -Wunknown-warning-option flags
      are set. Thus we need to make sure these are set when
      testing for clags.
      
      We must also set the clang specific warning flags
      -Wno-unused-command-line-argument to avoid a warning
      from the ssp-buffer-size flag when linking .o files.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c1634100
    • D
      Ignore cast alignment warnings in inotify code for Xen. · 7d73b114
      Daniel P. Berrange 提交于
      The inotify Xen code causes a cast alignment warning, but this
      is harmless since the kernel inotify interface will ensure
      sufficient alignment of the inotify structs in the buffer being
      read
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      7d73b114
    • D
      Workaround issue with clang and inline functions with static vars · 78cff68c
      Daniel P. Berrange 提交于
      Clang does not like it when you pass a static variable to an
      inline function
      
       vircgroupmock.c:462:22: error: static variable 'fakesysfsdir' is
        used in an inline function with external linkage [-Werror,-Wstatic-in-inline]
      
      Just make the var non-static to avoid this
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      78cff68c
    • D
      Ensure consistent enablement of gcc 'diagnostic' pragma · c43b685a
      Daniel P. Berrange 提交于
      The virt-compile-warnings.m4 file would do an explicit
      check for whether the compile could use the 'diagnostic'
      pragma push/pop feature. The src/internal.h file would
      then only enable it for GCC >= 4.6
      
      This breaks with clang which supports the pragma but
      does not claim GCC 4.6 compat. Export a variable from
      the m4 check to the header file so they are consistent.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c43b685a
    • O
      docs: Fix the wrong links in secret documentation · 5fd6ae3f
      Osier Yang 提交于
      docs/formatsecret.html.in: (s/domain\.html/formatdomain\.html/g)
      5fd6ae3f
    • O
      docs: Add the missed usage type 'iscsi' · 3f85bfdf
      Osier Yang 提交于
      Pushed under trivial rule.
      3f85bfdf
    • E
      qemu: fix bad free · 0b923ba3
      Eric Blake 提交于
      Commit bd56d0d8 could lead to freeing an uninitialized pointer:
      
      qemu/qemu_monitor_json.c: In function 'qemuMonitorJSONGetCommandLineOptionParameters':
      qemu/qemu_monitor_json.c:4284: warning: 'cmd' may be used uninitialized in this function
      
      * src/qemu/qemu_monitor_json.c
      (qemuMonitorJSONGetCommandLineOptionParameters): Initialize variable.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      0b923ba3
    • R
      build: avoid gcrypt deprecation warnings · bf87b99d
      Roman Bogorodskiy 提交于
      When combining old gcc (4.2.1) and new gcrypt (1.5.2), such as
      when using the Ports repository on FreeBSD, the build fails with:
      
        CC       libvirt_driver_la-libvirt.lo
      cc1: warnings being treated as errors
      In file included from libvirt.c:58:
      /usr/local/include/gcrypt.h:1336: warning: 'gcry_ac_io_mode_t' is deprecated [-Wdeprecated-declarations]
      
      Relevant part of gcrypt.h:
      1333 typedef struct gcry_ac_io
      1334 {
      1335   /* This is an INTERNAL structure, do NOT use manually.  */
      1336   gcry_ac_io_mode_t mode _GCRY_ATTR_INTERNAL;
      1337   gcry_ac_io_type_t type _GCRY_ATTR_INTERNAL;
      1338   union
      
      The sad part is that we aren't even using the deprecated symbols - their
      mere inclusion in the installed header is provoking the problems.  It
      looks like newer gcc is a bit more tolerant (that is, this is a
      shortcoming of FreeBSD's use of an older compiler).
      Signed-off-by: NEric Blake <eblake@redhat.com>
      bf87b99d
    • E
      qemu: query command line options in QMP · bd56d0d8
      Eric Blake 提交于
      Ever since the conversion to using only QMP for probing features
      of qemu 1.2 and newer, we have been unable to detect features
      that are added only by additional command line options.  For
      example, we'd like to know if '-machine mem-merge=on' (added
      in qemu 1.5) is present.  To do this, we will take advantage
      of qemu 1.5's query-command-line-parameters QMP call [1].
      
      This patch wires up the framework for probing the command results;
      if the QMP command is missing, or if a particular command line
      option does not output any parameters (for example, -net uses
      a polymorphic parser, which showed up as no parameters as of qemu
      1.5), we silently treat that command as having no results.
      
      [1] https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg05180.html
      
      * src/qemu/qemu_monitor.h (qemuMonitorGetOptions)
      (qemuMonitorSetOptions)
      (qemuMonitorGetCommandLineOptionParameters): New functions.
      * src/qemu/qemu_monitor_json.h
      (qemuMonitorJSONGetCommandLineOptionParameters): Likewise.
      * src/qemu/qemu_monitor.c (_qemuMonitor): Add cache field.
      (qemuMonitorDispose): Clean it.
      (qemuMonitorGetCommandLineOptionParameters): Implement new function.
      * src/qemu/qemu_monitor_json.c
      (qemuMonitorJSONGetCommandLineOptionParameters): Likewise.
      (testQemuMonitorJSONGetCommandLineParameters): Test it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      bd56d0d8