Am 08.05.2012 16:51, schrieb Paolo Bonzini: > 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 <stefa...@linux.vnet.ibm.com> > Reviewed-by: Kevin Wolf <kw...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
I still don't like this patch. We'll not get the proper solution in time for 1.1, but I hope that we can get rid of bdrv_rebind() again when BlockDriverState and the block device backend are split and devices no longer have direct pointers to BlockDriverStates. Kevin