Home
last modified time | relevance | path

Searched hist:"067 acf28d1d726059f994356f25e054ce2926acf" (Results 1 – 1 of 1) sorted by relevance

/openbmc/qemu/
H A Dblockdev.cdiff 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>