Message ID | 20180309182202.31206-4-farosas@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | block: Ensure non-protocol drivers can only be selected explicitly | expand |
On 2018-03-09 19:21, Fabiano Rosas wrote: > The throttle 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. throttle:<filename:options:...>) will now fail gracefully: > > $ qemu-img info throttle:foo > qemu-img: Could not open 'throttle:foo': Unknown protocol 'throttle' > > Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> > --- > block/throttle.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Reviewed-by: Max Reitz <mreitz@redhat.com>
diff --git a/block/throttle.c b/block/throttle.c index 5f4d43d0fc..95ed06acd8 100644 --- a/block/throttle.c +++ b/block/throttle.c @@ -215,10 +215,9 @@ static void coroutine_fn throttle_co_drain_end(BlockDriverState *bs) static BlockDriver bdrv_throttle = { .format_name = "throttle", - .protocol_name = "throttle", .instance_size = sizeof(ThrottleGroupMember), - .bdrv_file_open = throttle_open, + .bdrv_open = throttle_open, .bdrv_close = throttle_close, .bdrv_co_flush = throttle_co_flush,
The throttle 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. throttle:<filename:options:...>) will now fail gracefully: $ qemu-img info throttle:foo qemu-img: Could not open 'throttle:foo': Unknown protocol 'throttle' Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> --- block/throttle.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)