ping?
On Wed, Sep 10, 2014 at 05:05:44PM +0800, Hu Tao wrote:
> This series adds two preallocation mode to qcow2 and raw:
>
> Option preallocation=full preallocates disk space for image by writing
> zeros to disk, this ensures disk space in any cases.
>
> Option preallocation=falloc preallocates disk space by calling
> posix_fallocate(). This is faster than preallocation=full.
>
> Note: there is a false positive reported by checkpatch.pl to patch 1.
>
> changes to v14:
>
> - add detailed commit message to patch 1
> - change the coding style as Eric and Benoît suggested (patch 3)
> - use break as Benoît suggested (patch 4)
>
> changes to v13:
>
> - rebase (patch 3 in v13 is already in)
> - don't convert file size to sector size in hdev_create(), too (patch 2)
> - reintroduce preallocation=falloc. (patch 3)
> - split the implementation of preallocation=full in v13 into
> preallocation=falloc and preallocation=full (patch 4)
>
> changes to v12:
>
> - remove dependence on minimal_blob_size() (patch 6)
> - remove preallocation=falloc. (patch 4)
> - preallocation=full tries posix_fallocate() first then writing
> zeros (patch 5)
> - round up file size for all formats (patch 1)
> - avoid converting file size for more formats (patch 2)
>
> changes to v11:
>
> - fix test case 049 (patch 4)
> - unsigned nl2e -> uint64_t nl2e (patch 6)
> - use >> instead of / (patch 6)
>
> changes to v10:
>
> - PreallocMode is moved from file qapi-schema.json to qapi/block-core.json
> - introdues preallocation=falloc, no changes to preallocation=metadata
> - using minimal_blob_size() to calculate metadata size for qcow2
> - indentation fix in file blockdev.c
>
> changes to v9:
>
> - use ROUND_UP to do round up
> - split the round up into its own patch and add test case
> - new patch rename parse_enum_option to qapi_enum_parse and make it public
> - reuse qapi_enum_parse
>
> changes to v8:
>
> - round up image file size to nearest sector size
> - dont' blindly lose error info
> - target for 2.1 rather than 2.0
> - and, rebase to latest git tree
>
> changes to v5:
>
> - add `Since 2.0' to PreallocMode
> - apply total_size change to raw-win32.c as well
>
> changes to v4:
>
> - fix wrong calculation of qcow2 metadata size in v4
> - remove raw_preallocate2()
> - better error out path in raw_create()
> - fix coding style
>
> changes to v3:
>
> - remove bdrv_preallocate and make preallocation a
> bdrv_create_file option
> - prealloc_mode -> PreallocMode and add it to QAPI
> - fix return value in raw_preallocate2
>
> changes to v2:
>
> - 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 (5):
> block: round up file size to nearest sector
> block: don't convert file size to sector size
> qapi: introduce PreallocMode and new PreallocModes full and falloc.
> raw-posix: Add falloc and full preallocation option
> qcow2: Add falloc and full preallocation option
>
> block/archipelago.c | 3 +-
> block/cow.c | 3 +-
> block/gluster.c | 9 ++--
> block/iscsi.c | 4 +-
> block/nfs.c | 3 +-
> block/qcow.c | 7 +--
> block/qcow2.c | 82 +++++++++++++++++++++++++------
> block/qed.c | 3 +-
> block/raw-posix.c | 102
> ++++++++++++++++++++++++++++++---------
> block/raw-win32.c | 6 +--
> block/rbd.c | 3 +-
> block/sheepdog.c | 3 +-
> block/ssh.c | 3 +-
> block/vdi.c | 3 +-
> block/vhdx.c | 3 +-
> block/vmdk.c | 3 +-
> block/vpc.c | 3 +-
> qapi/block-core.json | 17 +++++++
> qemu-doc.texi | 17 +++++--
> qemu-img.texi | 17 +++++--
> tests/qemu-iotests/049.out | 2 +-
> tests/qemu-iotests/082.out | 54 ++++++++++-----------
> tests/qemu-iotests/104 | 57 ++++++++++++++++++++++
> tests/qemu-iotests/104.out | 12 +++++
> tests/qemu-iotests/common.filter | 21 ++++++++
> tests/qemu-iotests/group | 1 +
> 26 files changed, 344 insertions(+), 97 deletions(-)
> create mode 100755 tests/qemu-iotests/104
> create mode 100644 tests/qemu-iotests/104.out
>
> --
> 1.9.3
>