Home
last modified time | relevance | path

Searched hist:"9 bd910e2cbe413ab5927068bf189e929cb6790bc" (Results 1 – 1 of 1) sorted by relevance

/openbmc/qemu/
H A Dblock.cdiff 9bd910e2cbe413ab5927068bf189e929cb6790bc Fri Jun 10 13:57:46 CDT 2016 Max Reitz <mreitz@redhat.com> block: Allow replacement of a BDS by its overlay

change_parent_backing_link() asserts that the BDS to be replaced is not
used as a backing file. However, we may want to replace a BDS by its
overlay in which case that very link should not be redirected.

For instance, when doing a sync=none drive-mirror operation, we may have
the following BDS/BB forest before block job completion:

target

base <- source <- BlockBackend

During job completion, we want to establish the source BDS as the
target's backing node:

target
|
v
base <- source <- BlockBackend

This makes the target a valid replacement for the source:

target <- BlockBackend
|
v
base <- source

Without this modification to change_parent_backing_link() we have to
inject the target into the graph before the source is its backing node,
thus temporarily creating a wrong graph:

target <- BlockBackend

base <- source

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id: 20160610185750.30956-2-mreitz@redhat.com
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>