qemu/block
Peter Lieven 3ac216270a block: change default of .has_zero_init to 0
.has_zero_init defaults to 1 for all formats and protocols.

this is a dangerous default since this means that all
new added drivers need to manually overwrite it to 0 if
they do not ensure that a device is zero initialized
after bdrv_create().

if a driver needs to explicitly set this value to
1 its easier to verify the correctness in the review process.

during review of the existing drivers it turned out
that ssh and gluster had a wrong default of 1.
both protocols support host_devices as backend
which are not by default zero initialized. this
wrong assumption will lead to possible corruption
if qemu-img convert is used to write to such a backend.

vpc and vmdk also defaulted to 1 altough they support
fixed respectively flat extends. this has to be addresses
in separate patches. both formats as well as the mentioned
ssh and gluster are turned to the default of 0 with this
patch for safety.

a similar problem with the wrong default existed for
iscsi most likely because the driver developer did
oversee the default value of 1.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-06-28 13:52:35 +02:00
..
backup.c block: add basic backup support to block driver 2013-06-28 09:20:26 +02:00
blkdebug.c blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events 2013-06-06 11:27:22 +02:00
blkverify.c block: Remove filename parameter from .bdrv_file_open() 2013-04-22 11:34:35 +02:00
bochs.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
cloop.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
commit.c block: Make BlockJobTypes const 2013-06-28 09:20:27 +02:00
cow.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
curl.c curl: Don't set curl options on the handle just before it's going to be deleted. 2013-06-17 17:47:59 +02:00
dmg.c block: Make find_image_format safe with NULL filename 2013-03-22 17:51:32 +01:00
gluster.c gluster: Return bdrv_has_zero_init = 0 2013-06-28 09:20:27 +02:00
iscsi.c iscsi: reorganize iscsi_readcapacity_sync 2013-06-18 12:43:03 +02:00
linux-aio.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
Makefile.objs block: add basic backup support to block driver 2013-06-28 09:20:26 +02:00
mirror.c block: Make BlockJobTypes const 2013-06-28 09:20:27 +02:00
nbd.c nbd: strip braces from literal IPv6 address in URI 2013-06-18 11:43:00 +02:00
parallels.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
qapi.c qmp: add ImageInfo in BlockDeviceInfo used by query-block 2013-06-07 13:37:45 +02:00
qcow.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
qcow2-cache.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
qcow2-cluster.c qcow2: Batch discards 2013-06-24 10:25:17 +02:00
qcow2-refcount.c qcow2: Batch discards 2013-06-24 10:25:17 +02:00
qcow2-snapshot.c qcow2: Add refcount update reason to all callers 2013-06-24 10:25:17 +02:00
qcow2.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
qcow2.h qcow2: Batch discards 2013-06-24 10:25:17 +02:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qed.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
qed.h block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
raw-aio.h block: make discard asynchronous 2013-01-15 10:03:47 +01:00
raw-posix.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
raw-win32.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
raw.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
rbd.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
sheepdog.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
snapshot.c block: move snapshot code in block.c to block/snapshot.c 2013-06-04 13:56:30 +02:00
ssh.c block/ssh: Set bdrv_has_zero_init according to the file type. 2013-06-28 09:20:27 +02:00
stream.c block: Make BlockJobTypes const 2013-06-28 09:20:27 +02:00
vdi.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
vhdx.c block: add read-only support to VHDX image format. 2013-05-03 10:31:58 +02:00
vhdx.h block: initial VHDX driver support framework - supports open and probe 2013-05-03 10:31:58 +02:00
vmdk.c vmdk: remove wrong calculation of relative path 2013-06-28 09:20:27 +02:00
vpc.c vpc: Implement .bdrv_has_zero_init 2013-06-28 10:21:00 +02:00
vvfat.c block: Remove filename parameter from .bdrv_file_open() 2013-04-22 11:34:35 +02:00
win32-aio.c Remove twice include of qemu-common.h 2013-05-18 16:35:11 +04:00