qemu-patch-raspberry4/block
Liu Yuan e50d7607f1 sheepdog: fix dynamic grow for running qcow2 format
When running qcow2 over sheepdog, we might meet following problem

  qemu-system-x86_64: shrinking is not supported

And cause IO errors to Guest. This is because we abuse bs->total_sectors, which
is manipulated by generic block layer and race with sheepdog code.

We should directly check if offset > vdi_size to dynamically enlarge the volume
instead of 'offset > bs->total_sectors', which will cause problem when following
case happens:

   vdi_size > offset > bs->total_sectors

   # then trigger sd_truncate() to shrink the volume wrongly.

Cc: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Reported-by: Hadrien KOHL <hadrien.kohl@gmail.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-12-20 09:11:57 +01:00
..
backup.c block: introduce BDRV_REQ_MAY_UNMAP request flag 2013-11-28 10:30:51 +01:00
blkdebug.c blkdebug: Use QLIST_FOREACH_SAFE to resume IO 2013-12-13 17:11:19 +01:00
blkverify.c
bochs.c
cloop.c
commit.c
cow.c COW: Extend checking allocated bits to beyond one sector 2013-11-29 13:40:36 +01:00
curl.c
dmg.c
gluster.c
iscsi.c block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk} 2013-12-09 11:28:16 +01:00
linux-aio.c
Makefile.objs Split nbd block client code 2013-12-16 10:12:20 +01:00
mirror.c block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
nbd-client.c nbd: avoid uninitialized warnings 2013-12-16 10:12:20 +01:00
nbd-client.h nbd: pass export name as init argument 2013-12-16 10:12:20 +01:00
nbd.c nbd: pass export name as init argument 2013-12-16 10:12:20 +01:00
parallels.c
qapi.c qapi: Change BlockDirtyInfo to list 2013-11-29 13:40:36 +01:00
qcow.c
qcow2-cache.c
qcow2-cluster.c qcow2: use start_of_cluster() and offset_into_cluster() everywhere 2013-12-06 16:53:50 +01:00
qcow2-refcount.c qcow2: use start_of_cluster() and offset_into_cluster() everywhere 2013-12-06 16:53:50 +01:00
qcow2-snapshot.c snapshot: distinguish id and name in load_tmp 2013-12-04 15:19:00 +01:00
qcow2.c qcow2: Zero-initialise first cluster for new images 2013-12-04 11:29:37 +01:00
qcow2.h snapshot: distinguish id and name in load_tmp 2013-12-04 15:19:00 +01:00
qed-check.c
qed-cluster.c
qed-gencb.c
qed-l2-cache.c
qed-table.c
qed.c block drivers: expose requirement for write same alignment from formats 2013-12-03 15:26:49 +01:00
qed.h
raw-aio.h raw-posix: add support for write_zeroes on XFS and block devices 2013-12-03 15:26:49 +01:00
raw-posix.c raw-posix: add support for write_zeroes on XFS and block devices 2013-12-03 15:26:49 +01:00
raw-win32.c block: Print its file name if backing file opening failed 2013-11-14 13:09:06 +01:00
raw_bsd.c block/raw: copy BlockLimits on raw_open 2013-11-28 10:30:51 +01:00
rbd.c
sheepdog.c sheepdog: fix dynamic grow for running qcow2 format 2013-12-20 09:11:57 +01:00
snapshot.c qemu-nbd: support internal snapshot export 2013-12-04 15:19:00 +01:00
ssh.c
stream.c block/stream: Don't stream unbacked devices 2013-11-28 11:39:31 +01:00
vdi.c block drivers: add discard/write_zeroes properties to bdrv_get_info implementation 2013-12-03 15:26:49 +01:00
vhdx-endian.c block: vhdx - move more endian translations to vhdx-endian.c 2013-11-07 13:58:59 +01:00
vhdx-log.c
vhdx.c block drivers: add discard/write_zeroes properties to bdrv_get_info implementation 2013-12-03 15:26:49 +01:00
vhdx.h block: vhdx - add .bdrv_create() support 2013-11-07 13:58:59 +01:00
vmdk.c block drivers: expose requirement for write same alignment from formats 2013-12-03 15:26:49 +01:00
vpc.c block drivers: add discard/write_zeroes properties to bdrv_get_info implementation 2013-12-03 15:26:49 +01:00
vvfat.c block/vvfat: Fix compiler warnings for OpenBSD 2013-12-13 14:49:50 +01:00
win32-aio.c