qemu-patch-raspberry4/block
Paolo Bonzini e023b2e244 block: fix snapshot on QED
QED's opaque data includes a pointer back to the BlockDriverState.
This breaks when bdrv_append shuffles data between bs_new and bs_top.
To avoid this, add a "rebind" function that tells the driver about
the new relationship between the BlockDriverState and its opaque.

The patch also adds rebind to VVFAT for completeness, even though
it is not used with live snapshots.

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-05-10 10:32:12 +02:00
..
blkdebug.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
blkverify.c block: replace unchecked strdup/malloc/calloc with glib 2012-01-26 11:39:03 +01:00
bochs.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
cloop.c block/cloop: Use g_free instead of free 2011-11-04 14:24:12 +01:00
cow.c block: Fix spelling in comment (ineffcient -> inefficient) 2012-04-19 15:48:52 +02:00
curl.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
dmg.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
iscsi.c ISCSI: Add support for thin-provisioning via discard/UNMAP and bigger LUNs 2012-05-04 10:39:18 +02:00
nbd.c nbd: Fix uninitialised use of s->sock 2012-04-26 17:54:22 +02:00
parallels.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
qcow.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
qcow2-cache.c qcow2: Add some tracing 2012-03-12 15:14:06 +01:00
qcow2-cluster.c qcow2: Limit COW to where it's needed 2012-05-07 19:33:18 +02:00
qcow2-refcount.c qcow2: Support reading zero clusters 2012-04-20 15:57:29 +02:00
qcow2-snapshot.c qcow2: fix the return value -ENOENT -> -EEXIST 2012-05-02 18:39:39 +02:00
qcow2.c block: push bdrv_change_backing_file error checking up from drivers 2012-05-10 10:32:11 +02:00
qcow2.h qcow2: Zero write support 2012-04-20 15:57:30 +02:00
qed-check.c qed: image fragmentation statistics 2012-04-05 14:54:40 +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 block: bdrv_aio_* do not return NULL 2011-12-15 12:40:07 +01:00
qed.c block: fix snapshot on QED 2012-05-10 10:32:12 +02:00
qed.h qed: remove incoming live migration blocker 2012-04-05 16:29:12 +02:00
raw-posix-aio.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
raw-posix.c raw-posix: Do not use CONFIG_COCOA macro 2012-05-01 00:16:58 +02:00
raw-win32.c block: Rename bdrv_co_flush to bdrv_co_flush_to_disk 2011-11-11 14:02:59 +01:00
raw.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
rbd.c rbd: add discard support 2012-05-02 18:41:42 +02:00
sheepdog.c sheepdog: switch to writethrough mode if cluster doesn't support flush 2012-05-07 19:33:18 +02:00
stream.c block: update in-memory backing file and format 2012-05-10 10:32:11 +02:00
vdi.c vdi: change goto to loop 2012-04-05 14:54:40 +02:00
vmdk.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
vpc.c block/vpc: write checksum back to footer after check 2012-04-05 14:54:40 +02:00
vvfat.c block: fix snapshot on QED 2012-05-10 10:32:12 +02:00