1. 09 3月, 2015 1 次提交
  2. 06 3月, 2015 1 次提交
    • J
      virsh: Add 'iothreadsinfo' command · f41a5b84
      John Ferlan 提交于
      Add the 'iothreadsinfo' command to display IOThread Info data. Allow for
      [--live] or [--config] options in order to display live or config data
      for an active domain.
      
      $ virsh iothreadsinfo --help
        NAME
          iothreadsinfo - view domain IOThreads
      
        SYNOPSIS
          iothreadsinfo <domain> [--config] [--live] [--current]
      
        DESCRIPTION
          Returns basic information about the domain IOThreads.
      
        OPTIONS
          [--domain] <string>  domain name, id or uuid
          --config         affect next boot
          --live           affect running domain
          --current        affect current domain
      
      An active domain may return:
      
      $ virsh iothreads $dom
       IOThread ID     CPU Affinity
      ---------------------------------------------------
        1               2
        2               3
        3               0
      
      $ echo $?
      0
      
      For domains which don't have IOThreads the following is returned:
      
      $ virsh iothreads $dom
      No IOThreads found for the domain
      
      $ echo $?
      0
      
      For domains which are not running the following is returned:
      
      $ virsh iothreads $dom --live
      error: Unable to get domain IOThreads information
      error: Requested operation is not valid: domain is not running
      
      $ echo $?
      1
      
      Editing a domains configuration and modifying the iothreadpin data for
      thread 3 from nothing provided to setting a cpuset of '0-1' and then
      displaying using --config would display:
      
      $ virsh iothreads f18iothr --config
       IOThread ID     CPU Affinity
       ----------------------------
        1               2
        2               3
        3               0-1
      
      $
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      f41a5b84
  3. 03 3月, 2015 2 次提交
  4. 02 3月, 2015 2 次提交
  5. 25 2月, 2015 2 次提交
  6. 24 2月, 2015 1 次提交
  7. 13 2月, 2015 1 次提交
  8. 09 2月, 2015 1 次提交
  9. 04 2月, 2015 1 次提交
  10. 29 1月, 2015 2 次提交
  11. 14 1月, 2015 1 次提交
  12. 09 1月, 2015 1 次提交
  13. 17 12月, 2014 1 次提交
    • E
      getstats: add new flag for block backing chain · 4bffafb2
      Eric Blake 提交于
      This patch introduces access to allocation information about
      a backing chain of a live domain.  While querying storage
      volumes for read-only disks could provide some of the details,
      we do NOT want to read() a file while qemu is writing it.
      Also, there is one case where we have to rely on qemu: when
      doing a block commit into a backing file, where that file is
      stored in qcow2 format on a host block device, we want to know
      the current highest write offset into that image, in order to
      know if the disk must be resized larger.  qemu-img does not
      (currently) show this information, and none of the earlier
      block APIs were extensible enough to expose it.  But
      virDomainListGetStats is perfect for the job!
      
      We don't need a new group of statistics, as the existing block
      group is sufficient.  On the other hand, as existing libvirt
      releases already report 1:1 mapping of block.count to <disk>
      devices, changing the array size could confuse older clients;
      and even with newer clients, the time and memory taken to
      report additional statistics is not always necessary (backing
      files are generally read-only except for block-commit, so while
      read statistics may change, sizing statistics will not).  So
      the choice here is to add a new flag that only newer callers
      will pass, when they are prepared for the additional information.
      
      This patch introduces the new API, but it will take more
      patches to get it implemented for qemu.
      
      * include/libvirt/libvirt-domain.h
      (VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING): New flag.
      * src/libvirt-domain.c (virConnectGetAllDomainStats): Document it,
      and add a new field when it is in use.
      * tools/virsh-domain-monitor.c (cmdDomstats): Use new flag.
      * tools/virsh.pod (domstats): Document it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      4bffafb2
  14. 10 12月, 2014 1 次提交
    • J
      virsh.pod: Fix typo · 1548f226
      John Ferlan 提交于
      Commit id 'c9ffd3ea' updated the descriptions, but pointed at the
      wrong place for the pool-define-as (it should have been pool-create-as)
      1548f226
  15. 09 12月, 2014 1 次提交
    • E
      getstats: add block.n.path stat · 7b499262
      Eric Blake 提交于
      I'm about to make block stats optionally more complex to cover
      backing chains, where block.count will no longer equal the number
      of <disks> for a domain.  For these reasons, it is nicer if the
      statistics output includes the source path (for local files).
      This patch doesn't add anything for network disks, although we
      may decide to add that later.
      
      With this patch, I now see the following for the same domain as
      in the previous patch (one qcow2 file, and an empty cdrom drive):
      $ virsh domstats --block foo
      Domain: 'foo'
        block.count=2
        block.0.name=hda
        block.0.path=/var/lib/libvirt/images/foo.qcow2
        block.1.name=hdc
      
      * src/libvirt-domain.c (virConnectGetAllDomainStats): Document
      new field.
      * tools/virsh.pod (domstats): Document new field.
      * src/qemu/qemu_driver.c (qemuDomainGetStatsBlock): Return the new
      stat for local files/block devices.
      (QEMU_ADD_NAME_PARAM): Add parameter.
      (qemuDomainGetStatsInterface): Update caller.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7b499262
  16. 06 12月, 2014 3 次提交
  17. 25 11月, 2014 1 次提交
  18. 24 11月, 2014 1 次提交
    • T
      virsh: expose virDomainGetFSInfo · fadfcd91
      Tomoki Sekiyama 提交于
      Add a "domfsinfo" command that shows a list of filesystems info mounted in
      the guest. For example:
      
      virsh # domfsinfo vm1
      Mountpoint                           Name     Type     Target
      -------------------------------------------------------------------
      /                                    sda1     ext4     hdc
      /opt                                 dm-2     vfat     vda,vdb
      /mnt/test                            sdb1     xfs      sda
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      fadfcd91
  19. 21 11月, 2014 1 次提交
  20. 11 11月, 2014 1 次提交
  21. 29 10月, 2014 1 次提交
  22. 14 10月, 2014 1 次提交
  23. 25 9月, 2014 1 次提交
  24. 18 9月, 2014 2 次提交
  25. 16 9月, 2014 1 次提交
    • J
      virsh: Add iothread to 'attach-disk' · bc5a8090
      John Ferlan 提交于
      Add an iothread parameter to allow attaching to an IOThread, such as:
      
      virsh attach-disk $dom $source $target --live --config --iothread 2 \
           --targetbus virtio --driver qemu --subdriver raw  --type disk
      bc5a8090
  26. 12 9月, 2014 1 次提交
  27. 10 9月, 2014 2 次提交
    • J
      qemu: Recompute downtime and total time when migration completes · eaee338a
      Jiri Denemark 提交于
      Total time of a migration and total downtime transfered from a source to
      a destination host do not count with the transfer time to the
      destination host and with the time elapsed before guest CPUs are
      resumed. Thus, source libvirtd remembers when migration started and when
      guest CPUs were paused. Both timestamps are transferred to destination
      libvirtd which uses them to compute total migration time and total
      downtime. Obviously, this requires the time to be synchronized between
      the two hosts. The reported times are useless otherwise but they would
      be equally useless if we didn't do this recomputation so don't lose
      anything by doing it.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      eaee338a
    • J
      virsh: Add support for completed job stats · 13f3c463
      Jiri Denemark 提交于
      New --completed flag for virsh domjobinfo command.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      13f3c463
  28. 07 9月, 2014 1 次提交
    • E
      blockcopy: expose new API in virsh · c1d75dee
      Eric Blake 提交于
      Expose the new power of virDomainBlockCopy through virsh (well,
      all but the finer-grained bandwidth, as that is its own can of
      worms for a later patch).  Continue to use the older API where
      possible, for maximum compatibility.
      
      The command now requires either --dest (with optional --format
      and --blockdev), to directly describe the file destination, or
      --xml, to name a file that contains an XML description such as:
      
      <disk type='network'>
        <driver type='raw'/>
        <source protocol='gluster' name='vol1/img'>
          <host name='red'/>
        </source>
      </disk>
      
      [well, it may be a while before the qemu driver is actually patched
      to act on that particular xml beyond just parsing it, but the virsh
      interface won't need changing at that time]
      
      Non-zero option parameters are converted into virTypedParameters,
      and if anything requires the new API, the command can synthesize
      appropriate XML even if the --dest option was used instead of --xml.
      
      The existing --raw flag remains for back-compat, but the preferred
      spelling is now --format=raw, since the new API now allows us
      to specify all formats rather than just a boolean raw to suppress
      probing.
      
      I hope I did justice in describing the effects of granularity and
      buf-size on how they get passed through to qemu.
      
      * tools/virsh-domain.c (cmdBlockCopy): Add new options --xml,
      --granularity, --buf-size, --format. Make --raw an alias for
      --format=raw. Call new API if new parameters are in use.
      * tools/virsh.pod (blockcopy): Document new options.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      c1d75dee
  29. 06 9月, 2014 3 次提交
    • E
      blockcopy: allow block device destination · b7e73585
      Eric Blake 提交于
      To date, anyone performing a block copy and pivot ends up with
      the destination being treated as <disk type='file'>.  While this
      works for data access for a block device, it has at least one
      noticeable shortcoming: virDomainGetBlockInfo() reports allocation
      differently for block devices visited as files (the size of the
      device) than for block devices visited as <disk type='block'>
      (the maximum sector used, as reported by qemu); and this difference
      is significant when trying to manage qcow2 format on block devices
      that can be grown as needed.
      
      Of course, the more powerful virDomainBlockCopy() API can already
      express the ability to set the <disk> type.  But a new API can't
      be backported, while a new flag to an existing API can; and it is
      also rather inconvenient to have to resort to the full power of
      generating XML when just adding a flag to the older call will do
      the trick.  So this patch enhances blockcopy to let the user flag
      when the resulting XML after the copy must list the device as
      type='block'.
      
      * include/libvirt/libvirt.h.in (VIR_DOMAIN_BLOCK_REBASE_COPY_DEV):
      New flag.
      * src/libvirt.c (virDomainBlockRebase): Document it.
      * tools/virsh-domain.c (opts_block_copy, blockJobImpl): Add
      --blockdev option.
      * tools/virsh.pod (blockcopy): Document it.
      * src/qemu/qemu_driver.c (qemuDomainBlockRebase): Allow new flag.
      (qemuDomainBlockCopy): Remember the flag, and make sure it is only
      used on actual block devices.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml: Test it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b7e73585
    • E
      blockjob: add new --bytes flag to virsh blockjob · 1105c1de
      Eric Blake 提交于
      Expose the new flag just added to virDomainGetBlockJobInfo.
      With --raw, the presence or absence of --bytes determines which
      flag to use in the single API call.  Without --raw, the use of
      --bytes forces an error if the server doesn't support it,
      otherwise, the code tries to silently fall back to scaling the
      MiB/s value.
      
      My goal is to eventually also support --bytes in bandwidth mode;
      but that's a bit further down the road (and needs a new API flag
      added in libvirt.h first).
      
      This changes the human output, but the previous patch added
      raw output precisely so that we can have flexibility with the
      human output.  For this commit, I used qemu-monitor-command to
      force an unusual bandwidth, but the same will be possible once
      qemu implements virDomainBlockCopy:
      
      Before:
      Block Copy: [100 %]    Bandwidth limit: 2 MiB/s
      After:
      Block Copy: [100 %]    Bandwidth limit: 1048577 bytes/s (1.000 MiB/s)
      
      The cache avoids having to repeatedly checking whether the flag
      works when talking to an older server, when multiple blockjob
      commands are issued during a batch session and the user is
      manually polling for job completion.
      
      * tools/virsh.h (_vshControl): Add a cache.
      * tools/virsh.c (cmdConnect, vshReconnect): Initialize the cache.
      * tools/virsh-domain.c (opts_block_job): Add --bytes.
      * tools/virsh.pod (blockjob): Document this.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      1105c1de
    • E
      blockjob: add new --raw flag to virsh blockjob · 2019b7ca
      Eric Blake 提交于
      The current output of 'blockjob [--info]' is a single line
      designed for human consumption; it's not very nice for machine
      parsing.  Furthermore, I have plans to modify the line in
      response to the new flag for controlling bandwidth units.
      Solve that by adding a --raw parameter, which outputs
      information closer to the C struct.
      
      $ virsh blockjob testvm1 vda --raw
       type=Block Copy
       bandwidth=1
       cur=197120
       end=197120
      
      The information is indented, because I'd like for a later patch
      to add a mode that iterates over all the vm's disks with status
      for each; in that mode, each block name would be listed unindented
      before information (if any) about that block.
      
      Now that we have a raw mode, we can guarantee that it won't change
      format over time.  Any app that cares about parsing the output can
      try --raw, and if it fails, know that it was talking to an older
      virsh and fall back to parsing the human-readable format which had
      not changed until now; meanwhile, when not using --raw, we have
      freed future virsh to change the output to whatever makes sense.
      
      My first change to human mode: this command now guarantees a line
      is printed on successful use of the API, even when the API did
      not find a current block job (consistent with the rest of virsh).
      
      Bonus: https://bugzilla.redhat.com/show_bug.cgi?id=1135441
      complained that this message was confusing:
      
      $ virsh blockjob test1 hda  --async --bandwidth 10
      error: conflict between --abort, --info, and --bandwidth modes
      
      even though the man page already documents that --async implies
      abort mode, all because '--abort' wasn't present in the command
      line.  Since I'm adding another case where options are tied
      to or imply a mode, I changed that error to:
      
      error: conflict between abort, info, and bandwidth modes
      
      * tools/virsh-domain.c (cmdBlockJob): Add --raw parameter; tweak
      error wording.
      * tools/virsh.pod (blockjob): Document it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      2019b7ca
  30. 28 8月, 2014 1 次提交