diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2013-06-27 15:32:26 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-08-19 15:45:34 +0200 |
commit | e1b5c52e04d04bb93546c6e37e8884889d047cb1 (patch) | |
tree | 166141d7d610a7e2663c7286f0c39039a8eea90b | |
parent | f202039811d8746b0586d2fd5f61de6c8cf68056 (diff) | |
download | qemu-e1b5c52e04d04bb93546c6e37e8884889d047cb1.tar.gz qemu-e1b5c52e04d04bb93546c6e37e8884889d047cb1.tar.bz2 qemu-e1b5c52e04d04bb93546c6e37e8884889d047cb1.zip |
block: ensure bdrv_drain_all() works during bdrv_delete()
In bdrv_delete() make sure to call bdrv_make_anon() *after* bdrv_close()
so that the device is still seen by bdrv_drain_all() when iterating
bdrv_states.
Cc: qemu-stable@nongnu.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | block.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1606,11 +1606,11 @@ void bdrv_delete(BlockDriverState *bs) assert(!bs->job); assert(!bs->in_use); + bdrv_close(bs); + /* remove from list, if necessary */ bdrv_make_anon(bs); - bdrv_close(bs); - g_free(bs); } |