qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and


From: Hu Tao
Subject: Re: [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc
Date: Fri, 12 Sep 2014 17:22:45 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]