From: Vladimir Sementsov-Ogievskiy Date: Tue, 14 Aug 2018 12:43:19 +0000 (+0300) Subject: block: make .bdrv_close optional X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3c005293c2ace58c796b917a792c34c02c4d6433;p=qemu.git block: make .bdrv_close optional Signed-off-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Kevin Wolf --- diff --git a/block.c b/block.c index 39f373e035..9694018a68 100644 --- a/block.c +++ b/block.c @@ -3349,7 +3349,9 @@ static void bdrv_close(BlockDriverState *bs) bdrv_drain(bs); /* in case flush left pending I/O */ if (bs->drv) { - bs->drv->bdrv_close(bs); + if (bs->drv->bdrv_close) { + bs->drv->bdrv_close(bs); + } bs->drv = NULL; } diff --git a/block/snapshot.c b/block/snapshot.c index f9903bc94e..3218a542df 100644 --- a/block/snapshot.c +++ b/block/snapshot.c @@ -218,7 +218,9 @@ int bdrv_snapshot_goto(BlockDriverState *bs, qobject_unref(file_options); qdict_put_str(options, "file", bdrv_get_node_name(file)); - drv->bdrv_close(bs); + if (drv->bdrv_close) { + drv->bdrv_close(bs); + } bdrv_unref_child(bs, bs->file); bs->file = NULL;