[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and prea
From: |
Hu Tao |
Subject: |
[Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc |
Date: |
Wed, 10 Sep 2014 17:05:44 +0800 |
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
- [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc,
Hu Tao <=
- [Qemu-devel] [PATCH v15 1/5] block: round up file size to nearest sector, Hu Tao, 2014/09/10
- [Qemu-devel] [PATCH v15 4/5] raw-posix: Add falloc and full preallocation option, Hu Tao, 2014/09/10
- [Qemu-devel] [PATCH v15 5/5] qcow2: Add falloc and full preallocation option, Hu Tao, 2014/09/10
- [Qemu-devel] [PATCH v15 3/5] qapi: introduce PreallocMode and new PreallocModes full and falloc., Hu Tao, 2014/09/10
- [Qemu-devel] [PATCH v15 2/5] block: don't convert file size to sector size, Hu Tao, 2014/09/10
- Re: [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc, Hu Tao, 2014/09/12