Message ID | 20180309182202.31206-5-farosas@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | block: Ensure non-protocol drivers can only be selected explicitly | expand |
> From: Fabiano Rosas [mailto:farosas@linux.vnet.ibm.com] > 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> > --- > block/blkreplay.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/block/blkreplay.c b/block/blkreplay.c > index 61e44a1949..fe5a9b4a98 100755 > --- a/block/blkreplay.c > +++ b/block/blkreplay.c > @@ -129,10 +129,9 @@ static int coroutine_fn blkreplay_co_flush(BlockDriverState *bs) > > static BlockDriver bdrv_blkreplay = { > .format_name = "blkreplay", > - .protocol_name = "blkreplay", > .instance_size = 0, > > - .bdrv_file_open = blkreplay_open, > + .bdrv_open = blkreplay_open, > .bdrv_close = blkreplay_close, > .bdrv_child_perm = bdrv_filter_default_perms, > .bdrv_getlength = blkreplay_getlength, > -- > 2.13.6 Reviewed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> Pavel Dovgalyuk
On 2018-03-09 19:22, Fabiano Rosas wrote: > 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> > --- > block/blkreplay.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Reviewed-by: Max Reitz <mreitz@redhat.com>
diff --git a/block/blkreplay.c b/block/blkreplay.c index 61e44a1949..fe5a9b4a98 100755 --- a/block/blkreplay.c +++ b/block/blkreplay.c @@ -129,10 +129,9 @@ static int coroutine_fn blkreplay_co_flush(BlockDriverState *bs) static BlockDriver bdrv_blkreplay = { .format_name = "blkreplay", - .protocol_name = "blkreplay", .instance_size = 0, - .bdrv_file_open = blkreplay_open, + .bdrv_open = blkreplay_open, .bdrv_close = blkreplay_close, .bdrv_child_perm = bdrv_filter_default_perms, .bdrv_getlength = blkreplay_getlength,
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> --- block/blkreplay.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)