1. 07 4月, 2017 1 次提交
  2. 01 3月, 2017 1 次提交
    • P
      qemu-img: make convert async · 2d9187bc
      Peter Lieven 提交于
      the convert process is currently completely implemented with sync operations.
      That means it reads one buffer and then writes it. No parallelism and each sync
      request takes as long as it takes until it is completed.
      
      This can be a big performance hit when the convert process reads and writes
      to devices which do not benefit from kernel readahead or pagecache.
      In our environment we heavily have the following two use cases when using
      qemu-img convert.
      
      a) reading from NFS and writing to iSCSI for deploying templates
      b) reading from iSCSI and writing to NFS for backups
      
      In both processes we use libiscsi and libnfs so we have no kernel cache.
      
      This patch changes the convert process to work with parallel running coroutines
      which can significantly improve performance for network storage devices:
      
      qemu-img (master)
       nfs -> iscsi 22.8 secs
       nfs -> ram   11.7 secs
       ram -> iscsi 12.3 secs
      
      qemu-img-async (8 coroutines, in-order write disabled)
       nfs -> iscsi 11.0 secs
       nfs -> ram   10.4 secs
       ram -> iscsi  9.0 secs
      
      This patches introduces 2 new cmdline parameters. The -m parameter to specify
      the number of coroutines running in parallel (defaults to 8). And the -W parameter to
      allow qemu-img to write to the target out of order rather than sequential. This improves
      performance as the writes do not have to wait for each other to complete.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      2d9187bc
  3. 21 9月, 2016 2 次提交
  4. 08 6月, 2016 5 次提交
  5. 22 2月, 2016 2 次提交
  6. 03 11月, 2014 4 次提交
  7. 22 8月, 2014 2 次提交
  8. 04 12月, 2013 1 次提交
  9. 12 9月, 2013 1 次提交
  10. 06 9月, 2013 2 次提交
  11. 23 2月, 2013 3 次提交
  12. 24 10月, 2012 1 次提交
  13. 12 9月, 2012 1 次提交
    • B
      qemu-img: Add json output option to the info command. · c054b3fd
      Benoît Canet 提交于
      This option --output=[human|json] make qemu-img info output on
      human or JSON representation at the choice of the user.
      
      example:
      {
          "snapshots": [
              {
                  "vm-clock-nsec": 637102488,
                  "name": "vm-20120821145509",
                  "date-sec": 1345553709,
                  "date-nsec": 220289000,
                  "vm-clock-sec": 20,
                  "id": "1",
                  "vm-state-size": 96522745
              },
              {
                  "vm-clock-nsec": 28210866,
                  "name": "vm-20120821154059",
                  "date-sec": 1345556459,
                  "date-nsec": 171392000,
                  "vm-clock-sec": 46,
                  "id": "2",
                  "vm-state-size": 101208714
              }
          ],
          "virtual-size": 1073741824,
          "filename": "snap.qcow2",
          "cluster-size": 65536,
          "format": "qcow2",
          "actual-size": 985587712,
          "dirty-flag": false
      }
      Signed-off-by: NBenoit Canet <benoit@irqsave.net>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      c054b3fd
  14. 15 6月, 2012 1 次提交
    • K
      qemu-img check -r for repairing images · 4534ff54
      Kevin Wolf 提交于
      The QED block driver already provides the functionality to not only
      detect inconsistencies in images, but also fix them. However, this
      functionality cannot be manually invoked with qemu-img, but the
      check happens only automatically during bdrv_open().
      
      This adds a -r switch to qemu-img check that allows manual invocation
      of an image repair.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      4534ff54
  15. 15 12月, 2011 1 次提交
  16. 29 8月, 2011 1 次提交
    • K
      qemu-img: Require larger zero areas for sparse handling · a22f123c
      Kevin Wolf 提交于
      By default, require 4k of consecutive zero bytes for qemu-img to make the
      output file sparse by not issuing a write request for the zeroed parts. Add an
      -S option to allow users to tune this setting.
      
      This helps to avoid situations where a lot of zero sectors and data sectors are
      mixed and qemu-img tended to issue many tiny 512 byte writes.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      a22f123c
  17. 20 7月, 2011 1 次提交
  18. 05 7月, 2011 1 次提交
    • F
      qemu-img: Add cache command line option · 661a0f71
      Federico Simoncelli 提交于
      qemu-img currently writes disk images using writeback and filling
      up the cache buffers which are then flushed by the kernel preventing
      other processes from accessing the storage.
      This is particularly bad in cluster environments where time-based
      algorithms might be in place and accessing the storage within
      certain timeouts is critical.
      This patch adds the option to choose a cache method when writing
      disk images.
      Signed-off-by: NFederico Simoncelli <fsimonce@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      661a0f71
  19. 07 4月, 2011 1 次提交
  20. 22 10月, 2010 1 次提交
    • E
      Copy snapshots out of QCOW2 disk · 51ef6727
      edison 提交于
      In order to backup snapshots, created from QCOW2 iamge, we want to copy snapshots out of QCOW2 disk to a seperate storage.
      The following patch adds a new option in "qemu-img": qemu-img convert -f qcow2 -O qcow2 -s snapshot_name src_img bck_img.
      Right now, it only supports to copy the full snapshot, delta snapshot is on the way.
      
      Changes from V1: all the comments from Kevin are addressed:
      Add read-only checking
      Fix coding style
      Change the name from bdrv_snapshot_load to bdrv_snapshot_load_tmp
      Signed-off-by: NDisheng Su <edison@cloud.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      51ef6727
  21. 13 7月, 2010 1 次提交
  22. 22 5月, 2010 1 次提交
  23. 03 5月, 2010 1 次提交
  24. 15 3月, 2010 1 次提交
  25. 14 1月, 2010 1 次提交
    • K
      qemu-img rebase · 3e85c6fd
      Kevin Wolf 提交于
      This adds a rebase subcommand to qemu-img which allows to change the backing
      file of an image.
      
      In default mode, both the current and the new backing file need to exist, and
      after the rebase, the COW image is guaranteed to have the same guest visible
      content as before. To achieve this, old and new backing file are compared and,
      if necessary, data is copied from the old backing file into the COW image.
      
      With -u an unsafe mode is enabled that doesn't require the backing files to
      exist. It merely changes the backing file reference in the COW image. This is
      useful for renaming or moving the backing file. The user is responsible to make
      sure that the new backing file has no changes compared to the old one, or
      corruption may occur.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3e85c6fd
  26. 09 11月, 2009 1 次提交
  27. 07 6月, 2009 1 次提交