1. 26 4月, 2013 1 次提交
  2. 22 4月, 2013 2 次提交
  3. 15 4月, 2013 1 次提交
    • J
      rbd: add an asynchronous flush · dc7588c1
      Josh Durgin 提交于
      The existing bdrv_co_flush_to_disk implementation uses rbd_flush(),
      which is sychronous and causes the main qemu thread to block until it
      is complete. This results in unresponsiveness and extra latency for
      the guest.
      
      Fix this by using an asynchronous version of flush.  This was added to
      librbd with a special #define to indicate its presence, since it will
      be backported to stable versions. Thus, there is no need to check the
      version of librbd.
      
      Implement this as bdrv_aio_flush, since it matches other aio functions
      in the rbd block driver, and leave out bdrv_co_flush_to_disk when the
      asynchronous version is available.
      Reported-by: NOliver Francke <oliver@filoo.de>
      Signed-off-by: NJosh Durgin <josh.durgin@inktank.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      dc7588c1
  4. 25 3月, 2013 1 次提交
  5. 19 12月, 2012 2 次提交
  6. 11 12月, 2012 1 次提交
  7. 21 11月, 2012 1 次提交
  8. 15 11月, 2012 1 次提交
  9. 24 9月, 2012 1 次提交
  10. 15 6月, 2012 1 次提交
  11. 12 6月, 2012 2 次提交
    • M
      change qemu_iovec_to_buf() to match other to,from_buf functions · d5e6b161
      Michael Tokarev 提交于
      It now allows specifying offset within qiov to start from and
      amount of bytes to copy.  Actual implementation is just a call
      to iov_to_buf().
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      d5e6b161
    • M
      allow qemu_iovec_from_buffer() to specify offset from which to start copying · 03396148
      Michael Tokarev 提交于
      Similar to
       qemu_iovec_memset(QEMUIOVector *qiov, size_t offset,
                         int c, size_t bytes);
      the new prototype is:
       qemu_iovec_from_buf(QEMUIOVector *qiov, size_t offset,
                           const void *buf, size_t bytes);
      
      The processing starts at offset bytes within qiov.
      
      This way, we may copy a bounce buffer directly to
      a middle of qiov.
      
      This is exactly the same function as iov_from_buf() from
      iov.c, so use the existing implementation and rename it
      to qemu_iovec_from_buf() to be shorter and to match the
      utility function.
      
      As with utility implementation, we now assert that the
      offset is inside actual iovec.  Nothing changed for
      current callers, because `offset' parameter is new.
      
      While at it, stop using "bounce-qiov" in block/qcow2.c
      and copy decrypted data directly from cluster_data
      instead of recreating a temp qiov for doing that.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      03396148
  12. 03 5月, 2012 1 次提交
  13. 19 4月, 2012 1 次提交
  14. 26 1月, 2012 1 次提交
  15. 14 1月, 2012 1 次提交
  16. 15 12月, 2011 2 次提交
  17. 11 11月, 2011 1 次提交
  18. 21 10月, 2011 1 次提交
  19. 20 9月, 2011 4 次提交
  20. 12 9月, 2011 3 次提交
  21. 21 8月, 2011 1 次提交
  22. 14 6月, 2011 1 次提交
  23. 08 6月, 2011 4 次提交
  24. 14 12月, 2010 1 次提交