1. 12 4月, 2012 1 次提交
    • A
      blockjob: add API for async virDomainBlockJobAbort · a696f8b7
      Adam Litke 提交于
      Block job cancellation can take a while.  Now that upstream qemu 1.1
      has asynchronous block cancellation, we want to expose that to the user.
      Therefore, the following updates are made to the virDomainBlockJob API:
      
      A new block job event type VIR_DOMAIN_BLOCK_JOB_CANCELED is managed by
      libvirt.  Regardless of the flags used with virDomainBlockJobAbort, this
      event will be raised: 1. when using synchronous block_job_cancel (the
      event will be synthesized by libvirt), and 2. whenever it is received
      from qemu (via asynchronous block-job-cancel).  Note that the event
      may be detected by libvirt even before the virDomainBlockJobAbort
      completes (always true when it is synthesized, but also possible if
      cancellation was fast).
      
      A new extension flag VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC is added to the
      virDomainBlockJobAbort API.  When enabled, this function will allow
      (but not require) asynchronous operation (ie, it returns as soon as
      possible, which might be before the job has actually been canceled).
      When the API is used in this mode, it is the responsibility of the
      caller to wait for a VIR_DOMAIN_BLOCK_JOB_CANCELED event or poll via
      the virDomainGetBlockJobInfo API to check the cancellation status.
      
      This patch also exposes the new flag through virsh, and makes virsh
      slightly easier to use (--async implies --abort, and lack of any options
      implies --info), although it leaves the qemu implementation for later
      patches.
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Cc: Stefan Hajnoczi <stefanha@gmail.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      a696f8b7
  2. 10 4月, 2012 1 次提交
  3. 03 4月, 2012 1 次提交
    • M
      virsh: Clarify escape sequence · 7960ce84
      Michal Privoznik 提交于
      Currently, we put no strains on escape sequence possibly leaving users
      with console that cannot be terminated. However, not all ASCII
      characters can be used as escape sequence. Only those falling in
      @ - _ can be; implement and document this constraint.
      7960ce84
  4. 28 3月, 2012 1 次提交
    • E
      snapshot: fix virsh docs · 3ff4b069
      Eric Blake 提交于
      Commit d42a2ffc forgot to touch up virsh documentation, and commit
      4e9953a4 mis-spelled the option name.
      
      * tools/virsh.pod (snapshot-create, snapshot-create-as): Fix typo
      and match recent change in flag meaning.
      3ff4b069
  5. 24 3月, 2012 1 次提交
    • E
      snapshot: add atomic create flag · 4d5533ca
      Eric Blake 提交于
      Right now, it is appallingly easy to cause qemu disk snapshots
      to alter a domain then fail; for example, by requesting a two-disk
      snapshot where the second disk name resides on read-only storage.
      In this failure scenario, libvirt reports failure, but modifies
      the live domain XML in-place to record that the first disk snapshot
      was taken; and places a difficult burden on the management app
      to grab the XML and reparse it to see which disks, if any, were
      altered by the partial snapshot.
      
      This patch adds a new flag where implementations can request that
      the hypervisor make snapshots atomically; either no changes to
      XML occur, or all disks were altered as a group.  If you request
      the flag, you either get outright failure up front, or you take
      advantage of hypervisor abilities to make an atomic snapshot. Of
      course, drivers should prefer the atomic means even without the
      flag explicitly requested.
      
      There's no way to make snapshots 100% bulletproof - even if the
      hypervisor does it perfectly atomic, we could run out of memory
      during the followup tasks of updating our in-memory XML, and report
      a failure.  However, these sorts of catastrophic failures are rare
      and unlikely, and it is still nicer to know that either all
      snapshots happened or none of them, as that is an easier state to
      recover from.
      
      * include/libvirt/libvirt.h.in
      (VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC): New flag.
      * src/libvirt.c (virDomainSnapshotCreateXML): Document it.
      * tools/virsh.c (cmdSnapshotCreate, cmdSnapshotCreateAs): Expose it.
      * tools/virsh.pod (snapshot-create, snapshot-create-as): Document
      it.
      4d5533ca
  6. 23 3月, 2012 3 次提交
    • O
      New domain state pmsuspended · 54d9026a
      Osier Yang 提交于
      This introduces a new domain state pmsuspended to represent
      the domain which has been suspended by guest power management,
      e.g. (entered itno s3 state). Because a "running" state could
      be confused in this case, one will see the guest is paused
      actually while playing. And state "paused" is for the domain
      which was paused by virDomainSuspend.
      54d9026a
    • D
      Clarify virsh freecell manpage entry · 350e6c5e
      Dave Allan 提交于
      350e6c5e
    • D
      Clarify what documentation is being referenced · ceb1d36b
      Dave Allan 提交于
      virsh.pod had several instances in which it referred to "the
      documentation" which was a little puzzling to me since it is
      documentation.  Reading the document from end to end makes it clear
      that it means a specific URI which was noted previously in the text,
      but I had never noticed those URIs in several years of referring to
      the man page.  This patch adds those URIs to several additional places
      in the text.
      ceb1d36b
  7. 15 3月, 2012 1 次提交
    • D
      Allow overriding default URI in config file · e457d5ef
      Daniel P. Berrange 提交于
      Currently if the URI passed to virConnectOpen* is NULL, then we
      
       - Look for LIBVIRT_DEFAULT_URI env var
       - Probe for drivers
      
      This changes it so that
      
       - Look for LIBVIRT_DEFAULT_URI env var
       - Look for 'uri_default' in $HOME/.libvirt/libvirt.conf
       - Probe for drivers
      e457d5ef
  8. 09 3月, 2012 1 次提交
    • O
      virsh: Use option alias for outmoded "--persistent" · 1e31b835
      Osier Yang 提交于
      Since VIR_DOMAIN_AFFECT_{LIVE,CONFIG,CURRENT} was created,
      all new virsh commands use "--config" to represents the
      persistent changing. This patch add "--config" option
      for the old commands which still use "--persistent",
      and "--persistent" is now alias of "--config".
      
      tools/virsh.c: (use "--config", and "--persistent" is
          alias of "--config" now).
          cmdDomIfSetLink, cmdDomIfGetLink, cmdAttachDevice,
          cmdDetachDevice, cmdUpdateDevice, cmdAttachInterface,
          cmdDetachInterface, cmdAttachDisk, cmdDetachDisk
      
      toos/virsh.pod: Update docs of the changed commands, and
          add some missed docs for "--config" (detach-interface,
          detach-disk, and detach-device).
      1e31b835
  9. 08 3月, 2012 5 次提交
    • E
      virsh: improve memory unit parsing · 210ed0e8
      Eric Blake 提交于
      The last vestige of the inaccurate 'kilobytes' when we meant 1024 is
      now gone.  And virsh is now useful for setting memory in units other
      than KiB.
      
      * tools/virsh.c (cmdSetmem, cmdSetmaxmem): Use new helper routine,
      allow passing bogus arguments on to hypervisor to test driver
      sanity checking, and fix leak on parse error.
      (vshMemtuneGetSize): New helper.
      (cmdMemtune): Use it.
      * tools/virsh.pod (setmem, setmaxmem, memtune): Document this.
      210ed0e8
    • E
      virsh: improve storage unit parsing · ab95da40
      Eric Blake 提交于
      Now can now do:
      
      virsh vol-resize $vol 10M
      virsh blockresize $dom $vol 10M
      
      to get both interfaces to resize to 10MiB.  The remaining wart
      is that vol-resize defaults to bytes, but blockresize defaults
      to KiB, but we can't break existing scripts; oh well, it's no
      worse than the same wart of the underlying virDomainBlockResize.
      
      The API for virStorageVolResize states that capacity must always
      be positive, and that the presence of shrink and delta flags is
      what implies a negative change.
      
      * tools/virsh.c (vshCommandOptScaledInt): New function.
      (cmdVolResize): Don't pass negative size.
      (cmdVolSize): Rename...
      (vshVolSize): ...and use new helper routine.
      (cmdBlockResize): Use new helper routine, and support new bytes
      flag.
      * tools/virsh.pod (NOTES): Document suffixes.
      (blockresize, vol-create-as, vol-resize): Point to notes.
      ab95da40
    • E
      virsh: add command aliases, and rename nodedev-detach · af3f9aab
      Eric Blake 提交于
      Just because our public API has a typo doesn't mean that virsh
      has to keep the typo.
      
      * tools/virsh.c (VSH_CMD_FLAG_ALIAS): New flag.
      (nodedevCmds): Use it.
      (cmdHelp): Omit alias commands.
      (cmdNodeDeviceDettach): Rename...
      (cmdNodeDeviceDetach): ...to this.
      * tools/virsh.pod (nodedev-detach): Document it.
      af3f9aab
    • E
      virsh: use option aliases · 3d150d32
      Eric Blake 提交于
      Command line interfaces should use dash, not underscore, as many
      keyboard layouts allow that to be typed with fewer shift key presses.
      
      Also, the US spelling of --tunneled gets more google hits than the
      UK spelling of --tunnelled.
      
      * tools/virsh.c (opts_migrate): Allow US variant.
      (opts_blkdeviotune): Prefer - over _.
      * tools/virsh.pod (blkdeviotune): Fix spelling.
      3d150d32
    • E
      virsh: add option aliases · 1c56b9fe
      Eric Blake 提交于
      In the past, we have created some virsh options with less-than-stellar
      names.  For back-compat reasons, those names must continue to parse,
      but we don't want to document them in help output.  This introduces
      a new option type, an alias, which points to a canonical option name
      later in the option list.
      
      I'm actually quite impressed that our code has already been factored
      to do all option parsing through common entry points, such that I
      got this added in relatively few lines of code!
      
      * tools/virsh.c (VSH_OT_ALIAS): New option type.
      (opts_echo): Hook up an alias, for easy testing.
      (vshCmddefOptParse, vshCmddefHelp, vshCmddefGetOption): Allow for
      aliases.
      * tools/virsh.pod (NOTES): Document promise of back-compat.
      * tests/virshtest.c (mymain): Test new feature.
      1c56b9fe
  10. 07 3月, 2012 1 次提交
  11. 01 3月, 2012 1 次提交
    • E
      virsh: expose partial pull · ff4c25ba
      Eric Blake 提交于
      Now virsh can call virDomainBlockRebase.
      
      * tools/virsh.c (cmdBlockPull): Add --base parameter.
      (blockJobImpl): Use it to expose BlockRebase API.
      * tools/virsh.pod (blockpull): Document it.
      ff4c25ba
  12. 29 2月, 2012 1 次提交
  13. 28 2月, 2012 2 次提交
  14. 27 2月, 2012 2 次提交
    • P
      virsh: add support for VIR_DOMAIN_CONSOLE_* flags · afa4336e
      Peter Krempa 提交于
      This patch adds support for the newly introduced
      VIR_DOMAIN_CONSOLE_FORCE and VIR_DOMAIN_CONSOLE_SAFE flags. The console
      command now has an optional parameter --force that specifies that the
      user wants to forcibly interrupt an ongoing console session and create
      a new one. Flag --safe requests that the console should be opened only
      if the hypervisor driver supports safe console handling.
      
      The behaviour to this point was that the daemon opened two streams to
      the console, that competed for data from the pipe, and the result was
      that both of the consoles ended up scrambled.
      
      This patch doesn't modify operation of other commands dealing with
      console connections (start, create) as those open connections to newly
      started domains making it virtually impossible for another client to race
      for the console and steal it.
      
      * tools/console.c:
              - add support for flag passthrough
      * tools/console.h:
              - modify function prototypes to match impl.
      * tools/virsh.c:
              - add flag --force for the console command
      afa4336e
    • M
      virsh: Expose virDomainPMWakeup · a04d10f7
      Michal Privoznik 提交于
      a04d10f7
  15. 23 2月, 2012 1 次提交
  16. 22 2月, 2012 1 次提交
    • P
      virsh: Enhance list command to ease creation of shell scripts · 419e5fb3
      Peter Krempa 提交于
      This patch adds new options to the "virsh list" command enabling
      filtering of persistent and transient domains along with the option to
      print only UUIDs or names of domains instead of printing the table.
      
      Option --name prints domain names (one per line) instead of the default
      table. Similarly --uuid prints domain's UUID. The option --table is
      an alias for the default behavior.
      
      Aditionally --persistent and/or --transient may be specified to filter
      the output of domains.
      419e5fb3
  17. 21 2月, 2012 1 次提交
    • P
      virsh: Fix docs for list command · c4c68b00
      Peter Krempa 提交于
      Commit fad5cd21 introduced option to
      display domain's title in the list command output. There was a mistake
      in the virsh man page example for this command stating --note instead of
      --title.
      c4c68b00
  18. 14 2月, 2012 1 次提交
    • E
      qemu: make block io tuning smarter · 172d3429
      Eric Blake 提交于
      When blkdeviotune was first committed in 0.9.8, we had the limitation
      that setting one value reset all others.  But bytes and iops should
      be relatively independent.  Furthermore, setting tuning values on
      a live domain followed by dumpxml did not output the new settings.
      
      * src/qemu/qemu_driver.c (qemuDiskPathToAlias): Add parameter, and
      update callers.
      (qemuDomainSetBlockIoTune): Don't lose previous unrelated
      settings.  Make live changes reflect to dumpxml output.
      * tools/virsh.pod (blkdeviotune): Update documentation.
      172d3429
  19. 13 2月, 2012 1 次提交
  20. 08 2月, 2012 1 次提交
  21. 04 2月, 2012 2 次提交
  22. 02 2月, 2012 1 次提交
    • P
      virsh: Add support for modifying domain description and titles · fad5cd21
      Peter Krempa 提交于
      This patch adds a new command "desc" to show and modify titles and
      description for the domains using the new API.
      
      This patch also adds a new flag for the "list" command to show titles in
      the domain list, to allow easy identification of VMs by storing a short
      description.
      
      Example:
      virsh # list --title
       Id Name                 State      Title
       -----------------------------------------------
         0 Domain-0             running    Mailserver 1
         2 fedora               paused
      fad5cd21
  23. 01 2月, 2012 1 次提交
  24. 28 1月, 2012 2 次提交
  25. 26 1月, 2012 2 次提交
    • M
      storage: Support different wiping algorithms · adb99a05
      Michal Privoznik 提交于
      Currently, we support only filling a volume with zeroes on wiping.
      However, it is not enough as data might still be readable by
      experienced and equipped attacker. Many technical papers have been
      written, therefore we should support other wiping algorithms.
      adb99a05
    • E
      docs: fix virsh man page · 7fb22418
      Eric Blake 提交于
      Typo introduced in commit 4e9953a4, and remained in 6fba577e.
      
      * tools/virsh.pod (snapshot-create): Fix pod error.
      7fb22418
  26. 25 1月, 2012 1 次提交
  27. 24 1月, 2012 1 次提交
  28. 21 1月, 2012 1 次提交
  29. 13 1月, 2012 1 次提交
    • O
      virsh: Two new fields for command domblklist · 5b407133
      Osier Yang 提交于
      Disk "type" and "device" are generally interesting stuff the
      user may want to known, too. To not break any scripts which
      parsed the output field, a new option "--details" is introduced
      to output the two introduced fields.
      5b407133