diff options
author | Fam Zheng <famz@redhat.com> | 2014-10-31 11:32:54 +0800 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-12-10 10:25:29 +0100 |
commit | 04df765ab449df24666269b0de0caf6ff250c568 (patch) | |
tree | e0f3c156c36d04dbcefa9b91cad595fd23b62cb6 | |
parent | 7fb8da2b8861795e0013e6ee97acd0363d868a35 (diff) |
block: Add bdrv_next_node
Similar to bdrv_next, this traverses through graph_bdrv_states. Will be
useful to enumerate all the named nodes.
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r-- | block.c | 8 | ||||
-rw-r--r-- | include/block/block.h | 1 |
2 files changed, 9 insertions, 0 deletions
@@ -3801,6 +3801,14 @@ bool bdrv_chain_contains(BlockDriverState *top, BlockDriverState *base) return top != NULL; } +BlockDriverState *bdrv_next_node(BlockDriverState *bs) +{ + if (!bs) { + return QTAILQ_FIRST(&graph_bdrv_states); + } + return QTAILQ_NEXT(bs, node_list); +} + BlockDriverState *bdrv_next(BlockDriverState *bs) { if (!bs) { diff --git a/include/block/block.h b/include/block/block.h index 5450610bc1..c3a68d86a1 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -374,6 +374,7 @@ BlockDriverState *bdrv_lookup_bs(const char *device, const char *node_name, Error **errp); bool bdrv_chain_contains(BlockDriverState *top, BlockDriverState *base); +BlockDriverState *bdrv_next_node(BlockDriverState *bs); BlockDriverState *bdrv_next(BlockDriverState *bs); int bdrv_is_encrypted(BlockDriverState *bs); int bdrv_key_required(BlockDriverState *bs); |