block/null: Support reopen

Reopen is used in block-commit. With this always-succeed operation, it
is now possible to test committing to a null drive, by specifying
"null-aio://" or "null-co://" as the backing image when creating the
qcow2 image.

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1427852740-24315-3-git-send-email-famz@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Fam Zheng 2015-04-01 09:45:39 +08:00 committed by Kevin Wolf
parent e5e51dd3af
commit 1c2b49a172

View File

@ -177,6 +177,12 @@ static BlockAIOCB *null_aio_flush(BlockDriverState *bs,
return null_aio_common(bs, cb, opaque); return null_aio_common(bs, cb, opaque);
} }
static int null_reopen_prepare(BDRVReopenState *reopen_state,
BlockReopenQueue *queue, Error **errp)
{
return 0;
}
static BlockDriver bdrv_null_co = { static BlockDriver bdrv_null_co = {
.format_name = "null-co", .format_name = "null-co",
.protocol_name = "null-co", .protocol_name = "null-co",
@ -189,6 +195,7 @@ static BlockDriver bdrv_null_co = {
.bdrv_co_readv = null_co_readv, .bdrv_co_readv = null_co_readv,
.bdrv_co_writev = null_co_writev, .bdrv_co_writev = null_co_writev,
.bdrv_co_flush_to_disk = null_co_flush, .bdrv_co_flush_to_disk = null_co_flush,
.bdrv_reopen_prepare = null_reopen_prepare,
}; };
static BlockDriver bdrv_null_aio = { static BlockDriver bdrv_null_aio = {
@ -203,6 +210,7 @@ static BlockDriver bdrv_null_aio = {
.bdrv_aio_readv = null_aio_readv, .bdrv_aio_readv = null_aio_readv,
.bdrv_aio_writev = null_aio_writev, .bdrv_aio_writev = null_aio_writev,
.bdrv_aio_flush = null_aio_flush, .bdrv_aio_flush = null_aio_flush,
.bdrv_reopen_prepare = null_reopen_prepare,
}; };
static void bdrv_null_init(void) static void bdrv_null_init(void)