This series implements full image preallocation to create a non-sparse image
file at creation time, both for raw and qcow2 format. The purpose is to avoid
performance deterioration of the guest cause by sparse image.


v3:  - Fix comments to v2 by Fam.
     - qcow2: first fallocate disk space, then allocate metadata. This avoids
       the problem in v2 that bdrv_preallocate may clear all information in
       metadata. This does not necessarily map all data clusters sequentially
       but does keep information in metadata. Peter, is this acceptable?


Hu Tao (6):
  block: introduce prealloc_mode
  block: add BlockDriver.bdrv_preallocate.
  block/raw-posix: implement bdrv_preallocate
  raw-posix: Add full image preallocation option
  qcow2: implement bdrv_preallocate
  qcow2: Add full image preallocation option

 block.c                   | 13 +++++++++++
 block/qcow2.c             | 33 ++++++++++++++++++++++------
 block/raw-posix.c         | 56 +++++++++++++++++++++++++++++++++++++++++++++++
 include/block/block.h     |  7 ++++++
 include/block/block_int.h |  3 +++
 5 files changed, 105 insertions(+), 7 deletions(-)

-- 
1.7.11.7


Reply via email to