block/blkreplay: Remove protocol-related fields

The blkreplay driver is not a protocol so it should implement bdrv_open
instead of bdrv_file_open and not provide a protocol_name.

Attempts to invoke this driver using protocol syntax
(i.e. blkreplay:<filename:options:...>) will now fail gracefully:

  $ qemu-img info blkreplay:foo
  qemu-img: Could not open 'blkreplay:foo': Unknown protocol 'blkreplay'

Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com>
Reviewed-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Fabiano Rosas 2018-03-12 19:07:52 -03:00 committed by Kevin Wolf
parent a7328ba55f
commit 8140e786f0

View File

@ -129,10 +129,9 @@ static int coroutine_fn blkreplay_co_flush(BlockDriverState *bs)
static BlockDriver bdrv_blkreplay = { static BlockDriver bdrv_blkreplay = {
.format_name = "blkreplay", .format_name = "blkreplay",
.protocol_name = "blkreplay",
.instance_size = 0, .instance_size = 0,
.bdrv_file_open = blkreplay_open, .bdrv_open = blkreplay_open,
.bdrv_close = blkreplay_close, .bdrv_close = blkreplay_close,
.bdrv_child_perm = bdrv_filter_default_perms, .bdrv_child_perm = bdrv_filter_default_perms,
.bdrv_getlength = blkreplay_getlength, .bdrv_getlength = blkreplay_getlength,