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