1. 17 8月, 2013 2 次提交
    • E
      maint: slightly reduce configure size · 10ec6410
      Eric Blake 提交于
      Rather than inlining gl_WARN_ADD loads of time, we can shave about
      17k size off of the configure script by delaying it to a cleanup
      shell loop.
      
      * m4/virt-compile-warnings.m4 (LIBVIRT_COMPILE_WARNINGS): Track a
      list of things to check, rather than inlining multiple checks.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      10ec6410
    • J
      libxl: refactor capabilities code · aeab0243
      Jim Fehlig 提交于
      Cleanup the libxl capabilities code to be a bit more extensible,
      splitting out the creation of host and guest capabilities.  This
      should make it easier to implement additional capabilities in the
      future, such as NUMA topology reporting.
      aeab0243
  2. 16 8月, 2013 9 次提交
    • D
      Update polkit examples to use 'lookup' method · 7a7cb093
      Daniel P. Berrange 提交于
      Feedback from the polkit developers indicates that the
      "_detail_XXXX" attributes are a private implementation
      detail. Our examples should be recommending use of the
      "action.lookup('XXX')" method instead.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      7a7cb093
    • P
      virbitmaptest: Add test for out of bounds condition · 7efd5fd1
      Peter Krempa 提交于
      Previous patch fixed an issue where, when parsing a bitmap from the
      string, the bounds of the bitmap weren't checked. That flaw resulted into
      crashes. This test tests that case to avoid it in the future.
      7efd5fd1
    • P
      virbitmaptest: Fix function header formatting · 536d3812
      Peter Krempa 提交于
      536d3812
    • P
      virbitmap: Refactor virBitmapParse to avoid access beyond bounds of array · 47b9127e
      Peter Krempa 提交于
      The virBitmapParse function was calling virBitmapIsSet() function that
      requires the caller to check the bounds of the bitmap without checking
      them. This resulted into crashes when parsing a bitmap string that was
      exceeding the bounds used as argument.
      
      This patch refactors the function to use virBitmapSetBit without
      checking if the bit is set (this function does the checks internally)
      and then counts the bits in the bitmap afterwards (instead of keeping
      track while parsing the string).
      
      This patch also changes the "parse_error" label to a more common
      "error".
      
      The refactor should also get rid of the need to call sa_assert on the
      returned variable as the callpath should allow coverity to infer the
      possible return values.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=997367
      
      Thanks to Alex Jia for tracking down the issue. This issue is introduced
      by commit 0fc89098.
      47b9127e
    • P
      virsh-domain: Fix memleak in cmdCPUBaseline · f4ec8616
      Peter Krempa 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=997765
      
      ==1349431== 8 bytes in 1 blocks are definitely lost in loss record 11 of 760
      ==1349431==    at 0x4C2A554: calloc (vg_replace_malloc.c:593)
      ==1349431==    by 0x4E9AA3E: virAllocN (in /usr/lib64/libvirt.so.0.1001.1)
      ==1349431==    by 0x4EF28C4: virXPathNodeSet (in /usr/lib64/libvirt.so.0.1001.1)
      ==1349431==    by 0x130B83: cmdCPUBaseline (in /usr/bin/virsh)
      ==1349431==    by 0x12C608: vshCommandRun (in /usr/bin/virsh)
      ==1349431==    by 0x12889A: main (in /usr/bin/virsh)
      f4ec8616
    • E
      maint: update gnulib submodule · 692a4fc4
      Eric Blake 提交于
      Gnulib recently patched gcc warning detection so that it does
      not treat things like -Wno-unused-command-line-argument as
      supported in gcc (treating it as supported merely resulted in
      extra verbosity when an actual compile error occurred).  It
      has also improved bootstrap to work with less hassle on OpenBSD.
      
      * .gnulib: Update to latest, in part for bootstrap and warnings
      improvements.
      * bootstrap: Resync from gnulib.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      692a4fc4
    • E
      maint: avoid bootstrap warning · 14b4b1e2
      Eric Blake 提交于
      I noticed that in a fresh checkout, autogen.sh generated the
      following output, but continued on with execution:
      
      autoreconf: running: automake --add-missing --copy --force-missing
      gnulib/tests/Makefile.am:28: TESTS was already defined in condition TRUE, which includes condition WITH_EXPENSIVE_TESTS ...
      gnulib/tests/gnulib.mk:28: ... `TESTS' previously defined here
      gnulib/tests/Makefile.am:19:   `gnulib/tests/gnulib.mk' included from here
      
      and after the run, line 28 of gnulib.mk lists GNULIB_TESTS, not TESTS.
      After more investigation, I found that it is because gnulib bootstrap
      provides two hooks, one before automake, and the other after; we used
      the one that ran after, and were then rerunning automake ourselves;
      and the warning was from the first run.  But a manual second run is
      pointless if we use the right hook in the first place.
      
      The wrong function name has been latent since commit 38c9440a, and we
      tried to work around it in commit 6cbab7c1, but it took commit 70363ea9
      to finally change output enough for me to realize the root cause.
      
      * bootstrap.conf (bootstrap_epilogue): Rename...
      (bootstrap_post_import_hook): ...so that it gets run before automake.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      14b4b1e2
    • E
      maint: fix typo for 'switch' · c53b9c3e
      Eric Blake 提交于
      * src/util/virnetdevvportprofile.c: Fix typo.
      * src/conf/domain_conf.c: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      c53b9c3e
    • J
      libxl: unref DomainObjPrivate on error path · f0c513a6
      Jim Fehlig 提交于
      There is a potential leak of a newly created libxlDomainObjPrivate
      when subsequent allocation of the object's chrdev field fails.
      Unref the object on such an error so that it is properly disposed.
      f0c513a6
  3. 15 8月, 2013 5 次提交
  4. 14 8月, 2013 5 次提交
    • P
      virtio-rng: Remove double space in error message · 6ebdf35c
      Peter Krempa 提交于
      6ebdf35c
    • L
      network: permit upstream forwarding of unqualified DNS names · 4f595ba6
      Laine Stump 提交于
      This resolves the issue that prompted the filing of
      
        https://bugzilla.redhat.com/show_bug.cgi?id=928638
      
      (although the request there is for something much larger and more
      general than this patch).
      
      commit f3868259 disabled the
      forwarding to upstream DNS servers of unresolved DNS requests for
      names that had no domain, but were just simple host names (no "."
      character anywhere in the name). While this behavior is frowned upon
      by DNS root servers (that's why it was changed in libvirt), it is
      convenient in some cases, and since dnsmasq can be configured to allow
      it, it must not be strictly forbidden.
      
      This patch restores the old behavior, but since it is usually
      undesirable, restoring it requires specification of a new option in
      the network config. Adding the attribute "forwardPlainNames='yes'" to
      the <dns> elemnt does the trick - when that attribute is added to a
      network config, any simple hostnames that can't be resolved by the
      network's dnsmasq instance will be forwarded to the DNS servers listed
      in the host's /etc/resolv.conf for an attempt at resolution (just as
      any FQDN would be forwarded).
      
      When that attribute *isn't* specified, unresolved simple names will
      *not* be forwarded to the upstream DNS server - this is the default
      behavior.
      4f595ba6
    • R
      virt-login-shell: improve error message grammar · 11cdc424
      Ruben Kerkhof 提交于
      and wrap some long lines
      Signed-off-by: NEric Blake <eblake@redhat.com>
      11cdc424
    • L
      cpu: Add Power7+ and Power8 CPU definition in map.xml · b777a12d
      Li Zhang 提交于
      Power7+ and Power8 are supported in QEMU, so it needs to define CPUs
      in libvirt to support them.
      Signed-off-by: NLi Zhang <zhlcindy@linux.vnet.ibm.com>
      b777a12d
    • P
      doc: storage pool permission copy-paste fix · ced2e3be
      Philipp Hahn 提交于
      The description for <permissions> was copied from the storage volume
      section to the storage pool section, but the semantics are different:
      1. Currently only the "dir", "fs" and "netfs" storage pools use it.
      2. They use it only to build the final directory.
      3. A default for the storage volumes can't be set.
      Signed-off-by: NPhilipp Hahn <hahn@univention.de>
      ced2e3be
  5. 13 8月, 2013 19 次提交
    • G
      Directly link against needed libraries · f7904571
      Guido Günther 提交于
      The Linux build revealed another missing direct link target, this time
      against selinux libs:
      
          http://honk.sigxcpu.org:8001/view/libvirt/job/libvirt-build-debian-sid-amd64/9/console
      f7904571
    • D
      Ensure that /dev exists in the container root filesystem · c13a2c28
      Daniel P. Berrange 提交于
      If booting a container with a root FS that isn't the host's
      root, we must ensure that the /dev mount point exists.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c13a2c28
    • D
      Properly handle -h / -V for --help/--version aliases in virtlockd/libvirtd · 63ba687f
      Daniel P. Berrange 提交于
      The virtlockd/libvirtd daemons had listed '?' as the short option
      for --help. getopt_long uses '?' for any unknown option. We want
      to be able to distinguish unknown options (which use EXIT_FAILURE)
      from correct usage of help (which should use EXIT_SUCCESS). Thus
      we should use 'h' as a short option for --help. Also add this to
      the man page docs
      
      The virtlockd/libvirtd daemons did not list any short option
      for the --version arg. Add -V as a valid short option, since
      -v is already used for --verbose.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      63ba687f
    • D
      Address missed feedback from review of virt-login-shell · a3964734
      Daniel P. Berrange 提交于
      Address a number of code, style and docs issues identified
      in review of virt-login-shell after it was merged.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a3964734
    • D
      Honour root prefix in lxcContainerMountFSBlockAuto · 2d07f843
      Daniel P. Berrange 提交于
      The lxcContainerMountFSBlockAuto method can be used to mount the
      initial root filesystem, so it cannot assume a prefix of /.oldroot.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      2d07f843
    • P
      virsh-domain: Flip logic in cmdSetvcpus · 3abb6ec0
      Peter Krempa 提交于
      To avoid having to assign a failure code to the returned variable switch
      this function to negative logic. This will fix issue with invalid number
      of cpus returning success return code.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=996466
      3abb6ec0
    • E
      docs: mention VIR_TEST_RANGE · 70547bac
      Eric Blake 提交于
      Commit ab92ae33 added a cool feature, but didn't document it.
      
      * docs/hacking.html.in: Document debugging a subset of tests.
      * HACKING: Regenerate.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      70547bac
    • M
      tests: Fix parallel runs of TLS test suites · 3be7a304
      Martin Kletzander 提交于
      I noticed this yesterday and fixed it in a different way, but ended up
      with one more problem.  It was probably the way I fixed it combined
      with one more filename changed.
      
      Anyway, why I'm saying this is that one more filename should be renamed
      in order to avoid a race (which I was unable to reproduce, though).
      
      I checked this is the last file those two tests have in common by going
      through the code and the re-checked by this "script":
      
      strace -o session.trace -e open ./virnettlssessiontest
      strace -o context.trace -e open ./virnettlscontexttest
      sort \
       <(sed -n '/^open/s/open("\([^"]*\)",.*$/\1/p' context.trace | sort -u)\
       <(sed -n '/^open/s/open("\([^"]*\)",.*$/\1/p' session.trace | sort -u)\
       | uniq -d| grep '.pem$'
      
      So it should be enough to make these tests independent of each other.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      3be7a304
    • R
      cgroup macros refactoring, part 5 · 81b19157
      Roman Bogorodskiy 提交于
      Complete the refactoring by adding missing stubs so it compiles on
      platform without cgroup support.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      81b19157
    • R
      cgroup macros refactoring, part 4 · 2d795df3
      Roman Bogorodskiy 提交于
      Complete moving to VIR_CGROUP_SUPPORTED
      Signed-off-by: NEric Blake <eblake@redhat.com>
      2d795df3
    • R
      cgroup macros refactoring, part 3 · 7f5f270d
      Roman Bogorodskiy 提交于
      Continue converting to VIR_CGROUP_SUPPORTED
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7f5f270d
    • R
      cgroup macros refactoring, part 2 · c419e9b5
      Roman Bogorodskiy 提交于
      - Convert virCgroupGet* to VIR_CGROUP_SUPPORTED
      - Convert virCgroup(Get|Set)FreezerState to VIR_CGROUP_SUPPORTED
      Signed-off-by: NEric Blake <eblake@redhat.com>
      c419e9b5
    • R
      cgroup macros refactoring, part 1 · 02f1fd41
      Roman Bogorodskiy 提交于
      - Introduce VIR_CGROUP_SUPPORTED conditional
      - Convert virCgroupKill* to use it
      - Convert virCgroupIsolateMount() to use it
      - Convert virCgroupRemoveRecursively to VIR_CGROUP_SUPPORTED
      Signed-off-by: NEric Blake <eblake@redhat.com>
      02f1fd41
    • E
      cgroup: functional sort · 2ff9e54c
      Eric Blake 提交于
      Make future patches smaller by matching a sane header listing in
      the first place.  No semantic change.
      
      * src/util/vircgroup.h: Move free next to new, and controller
      functions next to each other.
      * src/util/vircgroup.c (virCgroupFree, virCgroupHasController)
      (virCgroupPathOfController, virCgroupRemoveRecursively)
      (virCgroupRemove): Sort implementation to be closer to header.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      2ff9e54c
    • E
      cgroup: topological sort · 7ccd322b
      Eric Blake 提交于
      Avoid a forward declaration of a static function.
      
      * src/util/vircgroup.c (virCgroupPartitionNeedsEscaping)
      (virCgroupParticionEscape): Move up.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7ccd322b
    • E
      cgroup: use consistent formatting · a9192905
      Eric Blake 提交于
      Format all functions with two blank lines between, and return type
      on separate line from function name.  Also break some lines longer
      than 80 columns.  This makes the subsequent macro refactoring
      less noisy.
      
      * src/util/vircgroup.c: Match prevailing style.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      a9192905
    • G
      Directly link against needed libraries · 6ba0b7d2
      Guido Günther 提交于
      otherwise having a strict --no-copy-dt-needed-entries fails in several
      places like:
      
          CCLD     virdbustest
          /usr/bin/ld: virdbustest-virdbustest.o: undefined reference to symbol 'dbus_message_unref'
          /lib/x86_64-linux-gnu/libdbus-1.so.3: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
      6ba0b7d2
    • G
      Add missing ATTRIBUTE_UNUSED · 0adc2b97
      Guido Günther 提交于
      to fix the kFreeBSD build.
      
      The network parameter is unused in networkCheckRouteCollision:
      
          http://honk.sigxcpu.org:8001/job/libvirt-build-debian-jessie-kfreebsd64/
      0adc2b97
    • G
      Don't crash in qemuBuildDeviceAddressStr · bb97db2f
      Guido Günther 提交于
      qemuDomainAttachVirtioDiskDevice passes NULL as domainDef which is later
      referenced in qemuDomainAttachVirtioDiskDevice:
      
       Program terminated with signal 11, Segmentation fault.
       #0  qemuBuildDeviceAddressStr (buf=buf@entry=0xb646de78, info=info@entry=0xb0a02360, qemuCaps=qemuCaps@entry=0xb8fdfdc8,
           domainDef=<error reading variable: Unhandled dwarf expression opcode 0xfa>,
           domainDef=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at qemu/qemu_command.c:2869
       2869            for (i = 0; i < domainDef->ncontrollers; i++) {
       (gdb) bt
       #0  qemuBuildDeviceAddressStr (buf=buf@entry=0xb646de78, info=info@entry=0xb0a02360, qemuCaps=qemuCaps@entry=0xb8fdfdc8,
           domainDef=<error reading variable: Unhandled dwarf expression opcode 0xfa>,
           domainDef=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at qemu/qemu_command.c:2869
       #1  0xb18ad6f8 in qemuBuildDriveDevStr (def=def@entry=0x0, disk=disk@entry=0xb0a02288, bootindex=bootindex@entry=0, qemuCaps=0xb8fdfdc8)
           at qemu/qemu_command.c:4316
       #2  0xb18d097f in qemuDomainAttachVirtioDiskDevice (conn=conn@entry=0xb90129a8, driver=driver@entry=0xb8fe29b8, vm=vm@entry=0xb8fe0c40,
           disk=disk@entry=0xb0a02288) at qemu/qemu_hotplug.c:278
       #3  0xb193f7ba in qemuDomainAttachDeviceDiskLive (dev=0xb0a35308, vm=0xb8fe0c40, driver=0xb8fe29b8, conn=0xb90129a8) at qemu/qemu_driver.c:6356
       #4  qemuDomainAttachDeviceLive (dev=0xb0a35308, vm=0xb8fe0c40, dom=<optimized out>) at qemu/qemu_driver.c:6418
       #5  qemuDomainAttachDeviceFlags (dom=dom@entry=0xb0a020b8,
           xml=xml@entry=0xb90953f0 "<disk type='file' device='disk'>\n  <source file='/var/lib/jenkins/jobs/libvirt-tck-build/workspace/scratchdir/200-disk-hotplug/extra.img'/>\n  <target dev='vdb' bus='virtio'/>\n</disk>\n", flags=3103664568, flags@entry=1) at qemu/qemu_driver.c:7079
       #6  0xb193f9cb in qemuDomainAttachDevice (dom=0xb0a020b8,
           xml=0xb90953f0 "<disk type='file' device='disk'>\n  <source file='/var/lib/jenkins/jobs/libvirt-tck-build/workspace/scratchdir/200-disk-hotplug/extra.img'/>\n  <target dev='vdb' bus='virtio'/>\n</disk>\n") at qemu/qemu_driver.c:7120
       #7  0xb7244827 in virDomainAttachDevice (domain=domain@entry=0xb0a020b8,
           xml=0xb90953f0 "<disk type='file' device='disk'>\n  <source file='/var/lib/jenkins/jobs/libvirt-tck-build/workspace/scratchdir/200-disk-hotplug/extra.img'/>\n  <target dev='vdb' bus='virtio'/>\n</disk>\n") at libvirt.c:10912
       #8  0xb7765ddb in remoteDispatchDomainAttachDevice (args=0xb9094ef0, rerr=0xb646e1f0, client=<optimized out>, server=<optimized out>,
           msg=<optimized out>) at remote_dispatch.h:2296
       #9  remoteDispatchDomainAttachDeviceHelper (server=0xb8fba0e8, client=0xb0a00730, msg=0xb0a350b8, rerr=0xb646e1f0, args=0xb9094ef0, ret=0xb9094dc8)
           at remote_dispatch.h:2274
       #10 0xb72b1013 in virNetServerProgramDispatchCall (msg=0xb0a350b8, client=0xb0a00730, server=0xb8fba0e8, prog=0xb8fc21c8)
           at rpc/virnetserverprogram.c:435
       #11 virNetServerProgramDispatch (prog=0xb8fc21c8, server=server@entry=0xb8fba0e8, client=0xb0a00730, msg=0xb0a350b8) at rpc/virnetserverprogram.c:305
       #12 0xb72aa167 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0xb8fba0e8)
           at rpc/virnetserver.c:165
       #13 virNetServerHandleJob (jobOpaque=0xb0a0a850, opaque=0xb8fba0e8) at rpc/virnetserver.c:186
       #14 0xb7189108 in virThreadPoolWorker (opaque=opaque@entry=0xb8fa3250) at util/virthreadpool.c:144
       #15 0xb71885e5 in virThreadHelper (data=0xb8fa32a8) at util/virthreadpthread.c:161
       #16 0xb70d6954 in start_thread (arg=0xb646eb70) at pthread_create.c:304
       #17 0xb704e95e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
      
      This was found by libvirtt-tck:
      
           http://honk.sigxcpu.org:8001/job/libvirt-tck-debian-wheezy-qemu-session/1311/console
      bb97db2f