On Tue, Sep 16, 2014 at 12:19:58PM +0200, Kevin Wolf wrote: > Am 16.09.2014 um 12:10 hat Hu Tao geschrieben: > > ping... > > Sorry, forgot to send the mail when I merged it. This is in master now.
Thank you very much! Regards, Hu > > Kevin > > > On Fri, Sep 12, 2014 at 05:22:45PM +0800, Hu Tao wrote: > > > 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 > > > >