Searched hist:"067 acf28d1d726059f994356f25e054ce2926acf" (Results 1 – 1 of 1) sorted by relevance
/openbmc/qemu/ |
H A D | blockdev.c | diff 067acf28d1d726059f994356f25e054ce2926acf Thu Mar 02 08:26:18 CST 2017 Kevin Wolf <kwolf@redhat.com> block: Fix blockdev-snapshot error handling
For blockdev-snapshot, external_snapshot_prepare() accepts an arbitrary node reference at first and only checks later whether it already has a backing file. Between those places, other errors can occur.
Therefore checking in external_snapshot_abort() whether state->new_bs has a backing file is not sufficient to tell whether bdrv_append() was already completed or not. Trying to undo the bdrv_append() when it wasn't even executed is wrong.
Introduce a new boolean flag in the state to fix this.
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
|