mirror of https://github.com/xemu-project/xemu.git
block: add bdrv_get_device_or_node_name()
This function gets the device name associated with a BlockDriverState, or its node name if the device name is empty. Signed-off-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 4fa30aa8d61d9052ce266fd5429a59a14e941255.1428485266.git.berto@igalia.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
ec683d6040
commit
9b2aa84f87
9
block.c
9
block.c
|
@ -3980,6 +3980,15 @@ const char *bdrv_get_device_name(const BlockDriverState *bs)
|
||||||
return bs->blk ? blk_name(bs->blk) : "";
|
return bs->blk ? blk_name(bs->blk) : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This can be used to identify nodes that might not have a device
|
||||||
|
* name associated. Since node and device names live in the same
|
||||||
|
* namespace, the result is unambiguous. The exception is if both are
|
||||||
|
* absent, then this returns an empty (non-null) string. */
|
||||||
|
const char *bdrv_get_device_or_node_name(const BlockDriverState *bs)
|
||||||
|
{
|
||||||
|
return bs->blk ? blk_name(bs->blk) : bs->node_name;
|
||||||
|
}
|
||||||
|
|
||||||
int bdrv_get_flags(BlockDriverState *bs)
|
int bdrv_get_flags(BlockDriverState *bs)
|
||||||
{
|
{
|
||||||
return bs->open_flags;
|
return bs->open_flags;
|
||||||
|
|
|
@ -226,10 +226,7 @@ static void quorum_report_bad(QuorumAIOCB *acb, char *node_name, int ret)
|
||||||
|
|
||||||
static void quorum_report_failure(QuorumAIOCB *acb)
|
static void quorum_report_failure(QuorumAIOCB *acb)
|
||||||
{
|
{
|
||||||
const char *reference = bdrv_get_device_name(acb->common.bs)[0] ?
|
const char *reference = bdrv_get_device_or_node_name(acb->common.bs);
|
||||||
bdrv_get_device_name(acb->common.bs) :
|
|
||||||
acb->common.bs->node_name;
|
|
||||||
|
|
||||||
qapi_event_send_quorum_failure(reference, acb->sector_num,
|
qapi_event_send_quorum_failure(reference, acb->sector_num,
|
||||||
acb->nb_sectors, &error_abort);
|
acb->nb_sectors, &error_abort);
|
||||||
}
|
}
|
||||||
|
|
|
@ -398,6 +398,7 @@ void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
|
||||||
void *opaque);
|
void *opaque);
|
||||||
const char *bdrv_get_node_name(const BlockDriverState *bs);
|
const char *bdrv_get_node_name(const BlockDriverState *bs);
|
||||||
const char *bdrv_get_device_name(const BlockDriverState *bs);
|
const char *bdrv_get_device_name(const BlockDriverState *bs);
|
||||||
|
const char *bdrv_get_device_or_node_name(const BlockDriverState *bs);
|
||||||
int bdrv_get_flags(BlockDriverState *bs);
|
int bdrv_get_flags(BlockDriverState *bs);
|
||||||
int bdrv_write_compressed(BlockDriverState *bs, int64_t sector_num,
|
int bdrv_write_compressed(BlockDriverState *bs, int64_t sector_num,
|
||||||
const uint8_t *buf, int nb_sectors);
|
const uint8_t *buf, int nb_sectors);
|
||||||
|
|
Loading…
Reference in New Issue