Denis V. Lunev 1cdc3239f1 block: use fallocate(FALLOC_FL_PUNCH_HOLE) & fallocate(0) to write zeroes
This sequence works efficiently if FALLOC_FL_ZERO_RANGE is not supported.
Unfortunately, FALLOC_FL_ZERO_RANGE is supported on really modern systems
and only for a couple of filesystems. FALLOC_FL_PUNCH_HOLE is much more
mature.

The sequence of 2 operations FALLOC_FL_PUNCH_HOLE and 0 is necessary due
to the following reasons:
- FALLOC_FL_PUNCH_HOLE creates a hole in the file, the file becomes
  sparse. In order to retain original functionality we must allocate
  disk space afterwards. This is done using fallocate(0) call
- fallocate(0) without preceeding FALLOC_FL_PUNCH_HOLE will do nothing
  if called above already allocated areas of the file, i.e. the content
  will not be zeroed

This should increase the performance a bit for not-so-modern kernels.

CC: Max Reitz <mreitz@redhat.com>
CC: Kevin Wolf <kwolf@redhat.com>
CC: Stefan Hajnoczi <stefanha@redhat.com>
CC: Peter Lieven <pl@kamp.de>
CC: Fam Zheng <famz@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2015-02-06 17:24:20 +01:00
2015-02-02 16:55:10 +01:00
2015-01-29 16:45:45 +00:00
2014-11-14 12:15:40 +01:00
2015-02-05 17:16:14 +01:00
2015-02-03 13:42:40 +01:00
2015-02-06 13:46:12 +00:00
2015-02-03 21:37:16 +00:00
2015-02-02 16:55:10 +01:00
2015-02-02 16:55:11 +01:00
2015-01-07 16:16:26 +01:00
2015-01-26 12:27:05 +01:00
2014-10-24 12:19:11 +01:00
2015-02-06 14:35:52 +00:00
2015-02-05 17:16:14 +01:00
2015-02-06 14:35:52 +00:00
2014-12-10 10:31:12 +01:00
2015-01-22 17:41:59 +00:00
2015-01-15 10:44:13 +03:00
2014-12-12 15:48:26 +00:00
2015-02-05 17:16:14 +01:00
2015-01-14 10:38:57 +01:00
2015-02-05 17:16:14 +01:00
2014-12-09 21:48:34 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team
Description
No description provided
Readme 404 MiB
Languages
C 82.6%
C++ 6.5%
Python 3.4%
Dylan 2.9%
Shell 1.6%
Other 2.8%