block/qdev: Let 'drive' property fall back to node name
If a qdev block device is created with an anonymous BlockBackend (i.e. a node name rather than a BB name was given for the drive property), qdev used to return an empty string when the property was read. This patch fixes it to return the node name instead. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
cf5198d580
commit
bd7c41765b
|
@ -126,7 +126,16 @@ static void release_drive(Object *obj, const char *name, void *opaque)
|
||||||
|
|
||||||
static char *print_drive(void *ptr)
|
static char *print_drive(void *ptr)
|
||||||
{
|
{
|
||||||
return g_strdup(blk_name(ptr));
|
const char *name;
|
||||||
|
|
||||||
|
name = blk_name(ptr);
|
||||||
|
if (!*name) {
|
||||||
|
BlockDriverState *bs = blk_bs(ptr);
|
||||||
|
if (bs) {
|
||||||
|
name = bdrv_get_node_name(bs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return g_strdup(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque,
|
static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||||
|
|
Loading…
Reference in a new issue