All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc
@ 2014-09-10  9:05 Hu Tao
  2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 1/5] block: round up file size to nearest sector Hu Tao
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Hu Tao @ 2014-09-10  9:05 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Fam Zheng, Richard W.M. Jones, Max Reitz,
	Stefan Hajnoczi, Yasunori Goto

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-17  1:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-10  9:05 [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc Hu Tao
2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 1/5] block: round up file size to nearest sector Hu Tao
2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 2/5] block: don't convert file size to sector size Hu Tao
2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 3/5] qapi: introduce PreallocMode and new PreallocModes full and falloc Hu Tao
2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 4/5] raw-posix: Add falloc and full preallocation option Hu Tao
2014-09-10  9:05 ` [Qemu-devel] [PATCH v15 5/5] qcow2: " Hu Tao
2014-09-12  9:22 ` [Qemu-devel] [PATCH v15 0/5] qcow2, raw: add preallocation=full and preallocation=falloc Hu Tao
2014-09-16 10:10   ` Hu Tao
2014-09-16 10:19     ` Kevin Wolf
2014-09-17  1:03       ` Hu Tao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.