1. 10 5月, 2012 1 次提交
  2. 05 4月, 2012 5 次提交
  3. 09 2月, 2012 2 次提交
    • S
      qed: add .bdrv_co_write_zeroes() support · 0e71be19
      Stefan Hajnoczi 提交于
      Zero writes are a dedicated interface for writing regions of zeroes into
      the image file.  If clusters are not yet allocated it is possible to use
      an efficient metadata representation which keeps the image file compact
      and does not store individual zero bytes.
      
      Implementing this for the QED image format is fairly straightforward.
      The only issue is that when a zero write touches an existing cluster we
      have to allocate a bounce buffer and perform a regular write.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      0e71be19
    • S
      qed: replace is_write with flags field · 6e4f59bd
      Stefan Hajnoczi 提交于
      Per-request attributes like read/write are currently implemented as bool
      fields in the QEDAIOCB struct.  This becomes unwiedly as the number of
      attributes grows.  For example, the qed_aio_setup() function would have
      to take multiple bool arguments and at call sites it would be hard to
      distinguish the meaning of each bool.
      
      Instead use a flags field with bitmask constants.  This will be used
      when zero write support is added.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      6e4f59bd
  4. 15 12月, 2011 1 次提交
    • P
      block: bdrv_aio_* do not return NULL · ad54ae80
      Paolo Bonzini 提交于
      Initially done with the following semantic patch:
      
      @ rule1 @
      expression E;
      statement S;
      @@
        E =
      (
         bdrv_aio_readv
      |  bdrv_aio_writev
      |  bdrv_aio_flush
      |  bdrv_aio_discard
      |  bdrv_aio_ioctl
      )
           (...);
      (
      - if (E == NULL) { ... }
      |
      - if (E)
          { <... S ...> }
      )
      
      which however missed the occurrence in block/blkverify.c
      (as it should have done), and left behind some unused
      variables.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      ad54ae80
  5. 05 12月, 2011 1 次提交
  6. 22 11月, 2011 1 次提交
  7. 26 10月, 2011 2 次提交
  8. 21 10月, 2011 1 次提交
  9. 05 10月, 2011 1 次提交
  10. 21 8月, 2011 1 次提交
  11. 02 8月, 2011 1 次提交
    • K
      async: Remove AsyncContext · 384acbf4
      Kevin Wolf 提交于
      The purpose of AsyncContexts was to protect qcow and qcow2 against reentrancy
      during an emulated bdrv_read/write (which includes a qemu_aio_wait() call and
      can run AIO callbacks of different requests if it weren't for AsyncContexts).
      
      Now both qcow and qcow2 are protected by CoMutexes and AsyncContexts can be
      removed.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      384acbf4
  12. 08 6月, 2011 1 次提交
    • K
      qemu-img create: Fix displayed default cluster size · 99cce9fa
      Kevin Wolf 提交于
      When not specifying a cluster size on the command line, qemu-img printed
      a cluster size of 0:
      
          Formatting '/tmp/test.qcow2', fmt=qcow2 size=67108864
          encryption=off cluster_size=0
      
      This patch adds the default cluster size to the QEMUOptionParameter list, so
      that it displays the default value that is used.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      99cce9fa
  13. 18 5月, 2011 2 次提交
    • S
      qed: support for growing images · 77a5a000
      Stefan Hajnoczi 提交于
      The .bdrv_truncate() operation resizes images and growing is easy to
      implement in QED.  Simply check that the new size is valid and then
      update the image_size header field to reflect the new size.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      77a5a000
    • S
      qed: Periodically flush and clear need check bit · 6f321e93
      Stefan Hajnoczi 提交于
      One strategy to limit the startup delay of consistency check when
      opening image files is to ensure that the file is marked dirty for as
      little time as possible.
      
      QED currently marks the image dirty when the first allocating write
      request is issued and clears the dirty bit again when the image is
      cleanly closed.  In practice that means the image is marked dirty for
      most of a guest's lifetime and prone to being in a dirty state upon
      crash or power failure.
      
      It is safe to clear the dirty bit after all allocating write requests
      have completed and a flush has been performed.  This patch adds a timer
      after the last allocating write request completes.  When the timer fires
      it will flush and then clear the dirty bit.  The timer is set to 5
      seconds and is cancelled upon arrival of a new allocating write request.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      6f321e93
  14. 13 4月, 2011 1 次提交
  15. 10 2月, 2011 1 次提交
  16. 31 1月, 2011 1 次提交
  17. 24 1月, 2011 1 次提交
  18. 17 12月, 2010 4 次提交