1. 19 7月, 2011 3 次提交
    • O
      virsh: Extend virsh dominfo to display if managed save image exists · 73d4625a
      Osier Yang 提交于
      * tools/virsh.c: new column "Managed save" for "cmdDominfo".
      * tools/virsh.pod: Update document of "managedsave" to tell one can
        use "dominfo" to query whether a domain has any managed save image.
      73d4625a
    • E
      virsh: make migrate --tunnelled imply --p2p · 40143fb6
      Eric Blake 提交于
      We can make the virsh migrate UI friendlier by supplying the
      missing bit automatically instead of erroring out when requesting
      --tunnelled without --p2p.
      
      * tools/virsh.c (doMigrate): Make --p2p optional when using
      --tunnelled.
      * tools/virsh.pod (migrate): Tweak wording accordingly.
      40143fb6
    • A
      virsh: avoid double free of domain · 6f669d4e
      Alex Jia 提交于
      * tools/virsh.c: avoid double free of domain, when weight value of blkiotune
        less than 0, codes will free domain and jump to cleanup section, however,
        cleanup will free domain again.
      
      Detected in valgrind run:
      
      ==21297== ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 69 from 8)
      ==21297==
      ==21297== 1 errors in context 1 of 20:
      ==21297== Invalid read of size 4
      ==21297==    at 0x40E209B: virDomainFree (libvirt.c:2096)
      ==21297==    by 0x8065274: cmdBlkiotune (virsh.c:3695)
      ==21297==    by 0x8054CC1: vshCommandRun (virsh.c:13135)
      ==21297==    by 0x806B967: main (virsh.c:14487)
      ==21297==  Address 0x446ad48 is 0 bytes inside a block of size 36 free'd
      ==21297==    at 0x4005B0A: free (vg_replace_malloc.c:325)
      ==21297==    by 0x406814D: virFree (memory.c:310)
      ==21297==    by 0x40D6635: virReleaseDomain (datatypes.c:243)
      ==21297==    by 0x40D6C5E: virUnrefDomain (datatypes.c:280)
      ==21297==    by 0x40E20B9: virDomainFree (libvirt.c:2101)
      ==21297==    by 0x8065297: cmdBlkiotune (virsh.c:3613)
      ==21297==    by 0x8054CC1: vshCommandRun (virsh.c:13135)
      ==21297==    by 0x806B967: main (virsh.c:14487)
      ==21297==
      ==21297==
      ==21297== 1 errors in context 2 of 20:
      ==21297== Invalid read of size 4
      ==21297==    at 0x40E1FE6: virDomainFree (libvirt.c:2092)
      ==21297==    by 0x8065274: cmdBlkiotune (virsh.c:3695)
      ==21297==    by 0x8054CC1: vshCommandRun (virsh.c:13135)
      ==21297==    by 0x806B967: main (virsh.c:14487)
      ==21297==  Address 0x446ad48 is 0 bytes inside a block of size 36 free'd
      ==21297==    at 0x4005B0A: free (vg_replace_malloc.c:325)
      ==21297==    by 0x406814D: virFree (memory.c:310)
      ==21297==    by 0x40D6635: virReleaseDomain (datatypes.c:243)
      ==21297==    by 0x40D6C5E: virUnrefDomain (datatypes.c:280)
      ==21297==    by 0x40E20B9: virDomainFree (libvirt.c:2101)
      ==21297==    by 0x8065297: cmdBlkiotune (virsh.c:3613)
      ==21297==    by 0x8054CC1: vshCommandRun (virsh.c:13135)
      ==21297==    by 0x806B967: main (virsh.c:14487)
      
      * how to reproduce?
        % valgrind -v --leak-check=full virsh blkiotune guestname --weight -1
      6f669d4e
  2. 16 7月, 2011 2 次提交
    • E
      virsh: improve option handling · ca92c857
      Eric Blake 提交于
      The documentation for vshCommandOptString claims that it returns
      -1 on a missing required argument, but in reality, that error
      message was unreachable (it was buried inside an if clause that
      is true only if the argument was present).  The code was so hairy
      that I decided a rewrite would make it easier to understand,
      and actually return the error values we want.
      
      Meanwhile, our construction guarantees that all vshCmdOpt have
      a non-null def member, so there are some redundant checks that
      can be trimmed.
      
      * tools/virsh.c (vshCommandOpt): Alter signature.
      (vshCommandOptInt, vshCommandOptUInt, vshCommandOptUL)
      (vshCommandOptString, vshCommandOptLongLong)
      (vshCommandOptULongLong, vshCommandOptBool): Adjust all callers.
      (vshCommandOptArgv): Remove dead condition.
      ca92c857
    • H
      add --cache, --serial, --shareable and --address to attach-disk · e962a579
      Hu Tao 提交于
      This adds four options for virsh command attach-disk.
      
      --cache option allows user to specify cache mode of disk device
      from virsh command line when attaching a disk device.
      
      --serial option allows user to specify serial string of disk device
      from virsh command line when attaching a disk device.
      
      --shareable option allows user to specify whether the disk device is
      shareable between domains when attaching a disk device from virsh
      command line.
      
      --address option allows user to specify address of disk device when
      attaching a disk device.
      e962a579
  3. 15 7月, 2011 1 次提交
  4. 14 7月, 2011 5 次提交
  5. 12 7月, 2011 1 次提交
    • D
      Add a new 'virsh qemu-attach' command. · eb7be6a6
      Daniel P. Berrange 提交于
      This command allows libvirt to attach to an existing QEMU
      instance.
      
       $ qemu-kvm -cdrom ~/demo.iso \
           -monitor unix:/tmp/demo,server,nowait \
           -name foo \
           -uuid cece4f9f-dff0-575d-0e8e-01fe380f12ea  &
       $ QEMUPID=$!
       $ virsh qemu-attach $QEMUPID
      eb7be6a6
  6. 08 7月, 2011 2 次提交
    • E
      virsh: make destroy sound less scary · 085d2415
      Eric Blake 提交于
      Destroy has a rather negative English connotation.  Try to reduce
      the impact, so newbies aren't as scared to use it.
      
      * tools/virsh.c: Tweak all destroy documentation.
      * tools/virsh.pod: Likewise.
      085d2415
    • E
      build: use gnulib pthread_sigmask · 8437e738
      Eric Blake 提交于
      Gnulib finally learned how to do pthread_sigmask on mingw.
      
      * .gnulib: Update to latest, for pthread_sigmask.
      * bootstrap.conf (gnulib_modules): Add pthread_sigmask.
      * configure.ac (AC_CHECK_FUNCS): Drop redundant check.
      * src/rpc/virnetclient.c (virNetClientSetTLSSession)
      (virNetClientIOEventLoop): Make code unconditional.
      * src/util/command.c (virFork): Likewise.
      * tools/virsh.c (doMigrate, cmdMigrate): Likewise.
      8437e738
  7. 01 7月, 2011 2 次提交
    • E
      virsh: avoid uninitialized variable · cdb0e0dc
      Eric Blake 提交于
      Detected by Coverity; neither vshCmddefHelp nor vshCmdOptParse
      was initializing opts_required.
      
      * tools/virsh.c (vshCmddefOptParse): Always initialize bitmaps.
      cdb0e0dc
    • E
      virsh: avoid integer overflow · 6f9432fc
      Eric Blake 提交于
      Detected by Coverity.  info.nrVirtCpu is unsigned short, but if
      cpumaplen is int, then the product of the two in vshMalloc risks
      unintended sign extension.  cmdVcpuinfo had already solved this
      by using size_t cpumaplen.
      
      * tools/virsh.c (cmdVcpuPin): Use correct type.
      6f9432fc
  8. 30 6月, 2011 1 次提交
  9. 28 6月, 2011 1 次提交
  10. 27 6月, 2011 1 次提交
    • E
      build: rename Vcpupin to VcpuPin · 28e45afc
      Eric Blake 提交于
      We already have a public virDomainPinVcpu, which implies that
      Pin and Vcpu are treated as separate words.  Unreleased commit
      e261987c introduced virDomainGetVcpupinInfo as the first public
      API that used Vcpupin, although we had prior internal uses of
      that spelling.  For consistency, change the spelling to be two
      words everywhere, regardless of whether pin comes first or last.
      
      * daemon/remote.c: Treat vcpu and pin as separate words.
      * include/libvirt/libvirt.h.in: Likewise.
      * src/conf/domain_conf.c: Likewise.
      * src/conf/domain_conf.h: Likewise.
      * src/driver.h: Likewise.
      * src/libvirt.c: Likewise.
      * src/libvirt_private.syms: Likewise.
      * src/libvirt_public.syms: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * tools/virsh.c: Likewise.
      * src/remote/remote_protocol.x: Likewise.
      * src/remote_protocol-structs: Likewise.
      Suggested by Matthias Bolte.
      28e45afc
  11. 25 6月, 2011 2 次提交
  12. 24 6月, 2011 2 次提交
    • E
      Revert "Enable the virDomainBlockPull API in virsh" · f7f5e3e8
      Eric Blake 提交于
      This reverts commit 3e2493ce.
      f7f5e3e8
    • D
      Allow automatic kill of guests when a connection is closed · 3ba937da
      Daniel P. Berrange 提交于
      If an application is using libvirt + KVM as a piece of its
      internal infrastructure to perform a specific task, it can
      be desirable to guarentee the VM dies when the virConnectPtr
      disconnects from libvirtd. This ensures the app can't leak
      any VMs it was using. Adding VIR_DOMAIN_START_AUTOKILL as
      a flag when starting guests enables this to be done.
      
      * include/libvirt/libvirt.h.in: All VIR_DOMAIN_START_AUTOKILL
      * src/qemu/qemu_driver.c: Support automatic killing of guests
        upon connection close
      * tools/virsh.c: Add --autokill flag to 'start' and 'create'
        commands
      3ba937da
  13. 22 6月, 2011 1 次提交
  14. 21 6月, 2011 3 次提交
    • E
      virsh: enhance snapshot-create-as · 9256ad84
      Eric Blake 提交于
      Similar to pool-create-as.
      
      * tools/virsh.c (cmdSnapshotCreateAs): Add --print-xml.
      * tools/virsh.pod: Document it.
      9256ad84
    • E
      virsh: add snapshot-create-as command · 1546dcf8
      Eric Blake 提交于
      Producing an xml file just for name and description fields is
      overkill; this makes life easier from virsh.
      
      * tools/virsh.c (cmdSnapshotCreateAs): New command.
      (snapshotCmds): Install it.
      * tools/virsh.pod: Document it.
      1546dcf8
    • E
      virsh: clarify snapshot vs. save · ea71d828
      Eric Blake 提交于
      * tools/virsh.c (info_snapshot_create, info_save): Clarify
      description.
      * tools/virsh.pod (save): Likewise.
      ea71d828
  15. 20 6月, 2011 4 次提交
    • D
      Fix compile warnings in virsh vcpupin · b3257680
      Daniel P. Berrange 提交于
      The 'char *cur' variable was being assigned from a
      'const char *' string, thus discarding constness.
      As well as causing a compile warning, it masked a
      piece of code which attempts to assign to the
      previously const string.
      
      * tools/virsh.c: Fix const-ness of 'cur' variable in vcpupin
      b3257680
    • T
      vcpupin: add reset option to virsh vcpupin command · c4a8ca71
      Taku Izumi 提交于
      When resetting vcpupin setting, we have to specify all host physical
      cpus as a cpulist parameter of virsh vcpupin command. It's a little
      tedious.
      
      This patch changes to allow to receive the special keyword 'r' as a cpulist
      parameter of virsh vcpupin command when resetting vcpupin setting.
      
      If you set the following:
      
       # virsh vcpupin VM 0 r
      
      the vcpu0 will be pinned to all physical cpus.
      Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
      c4a8ca71
    • T
      vcpupin: improve vcpupin definition of virsh vcpupin · 2903534a
      Taku Izumi 提交于
      When using vcpupin command, we have to speficy comma-separated list as cpulist,
      but this is tedious in case the number of phsycal cpus is large.
      This patch improves this by introducing special markup "-" and "^" which are
      similar to XML schema of "cpuset" attribute.
      
      The example:
      
       # virsh vcpupin Guest 0 0-15,^8
      
       is identical to
      
       # virsh vcpupin Guest 0 0,1,2,3,4,5,6,7,9,10,11,12,13,14,15
      
      NOTE: The expression is sequentially evaluated, so "0-15,^8" is not identical
      to "^8,0-15".
      Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
      2903534a
    • H
      Add new parameters for blkiotune · 1bb414af
      Hu Tao 提交于
      Add --config, --live and --current for command blkiotune
      1bb414af
  16. 17 6月, 2011 1 次提交
  17. 15 6月, 2011 6 次提交
  18. 14 6月, 2011 2 次提交
    • M
      virsh: Add daemon version reporting · f67f9650
      Michal Privoznik 提交于
      'virsh version' might report against which version of libvirtd is
      running.
      f67f9650
    • O
      qemu: Parse current balloon value returned by query_balloon · 41514f7b
      Osier Yang 提交于
      Qemu once supported following memory stats which will returned by
      "query_balloon":
      
          stat_put(dict, "actual", actual);
          stat_put(dict, "mem_swapped_in", dev->stats[VIRTIO_BALLOON_S_SWAP_IN]);
          stat_put(dict, "mem_swapped_out", dev->stats[VIRTIO_BALLOON_S_SWAP_OUT]);
          stat_put(dict, "major_page_faults", dev->stats[VIRTIO_BALLOON_S_MAJFLT]);
          stat_put(dict, "minor_page_faults", dev->stats[VIRTIO_BALLOON_S_MINFLT]);
          stat_put(dict, "free_mem", dev->stats[VIRTIO_BALLOON_S_MEMFREE]);
          stat_put(dict, "total_mem", dev->stats[VIRTIO_BALLOON_S_MEMTOT]);
      
      But it later disabled all the stats except "actual" by commit
      07b0403dfc2b2ac179ae5b48105096cc2d03375a.
      
      libvirt doesn't parse "actual", so user will always see a empty result
      with "virsh dommemstat $domain". Even qemu haven't disabled the stats,
      we should support parsing "actual".
      41514f7b