Message ID | 20190507081256.27599-1-antonkuchin@yandex-team.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: remove bs from lists before closing | expand |
Am 07.05.2019 um 10:12 hat Anton Kuchin geschrieben: > Close involves flush that can be performed asynchronously and bs > must be protected from being referenced before it is deleted. > > Signed-off-by: Anton Kuchin <antonkuchin@yandex-team.ru> Thanks, applied to the block branch. Kevin
diff --git a/block.c b/block.c index 9ae5c0ed2f..b505271a4d 100644 --- a/block.c +++ b/block.c @@ -4083,14 +4083,14 @@ static void bdrv_delete(BlockDriverState *bs) assert(bdrv_op_blocker_is_empty(bs)); assert(!bs->refcnt); - bdrv_close(bs); - /* remove from list, if necessary */ if (bs->node_name[0] != '\0') { QTAILQ_REMOVE(&graph_bdrv_states, bs, node_list); } QTAILQ_REMOVE(&all_bdrv_states, bs, bs_list); + bdrv_close(bs); + g_free(bs); }
Close involves flush that can be performed asynchronously and bs must be protected from being referenced before it is deleted. Signed-off-by: Anton Kuchin <antonkuchin@yandex-team.ru> --- block.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)