[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/5] block: add helper function to determine if a BD
From: |
Jeff Cody |
Subject: |
[Qemu-devel] [PATCH 2/5] block: add helper function to determine if a BDS is in a chain |
Date: |
Wed, 14 May 2014 23:20:16 -0400 |
This is a small helper function, to determine if 'base' is in the
chain of BlockDriverState 'top'. It returns true if it is in the chain,
and false otherwise.
If either argument is NULL, it will also return false.
Signed-off-by: Jeff Cody <address@hidden>
---
block.c | 9 +++++++++
include/block/block.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/block.c b/block.c
index 81945d3..c4f77c2 100644
--- a/block.c
+++ b/block.c
@@ -3734,6 +3734,15 @@ BlockDriverState *bdrv_lookup_bs(const char *device,
return NULL;
}
+bool bdrv_is_in_chain(BlockDriverState *top, BlockDriverState *base)
+{
+ while (top && top != base) {
+ top = top->backing_hd;
+ }
+
+ return top != NULL;
+}
+
BlockDriverState *bdrv_next(BlockDriverState *bs)
{
if (!bs) {
diff --git a/include/block/block.h b/include/block/block.h
index 1b119aa..283a6f3 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -381,6 +381,7 @@ BlockDeviceInfoList *bdrv_named_nodes_list(void);
BlockDriverState *bdrv_lookup_bs(const char *device,
const char *node_name,
Error **errp);
+bool bdrv_is_in_chain(BlockDriverState *top, BlockDriverState *base);
BlockDriverState *bdrv_next(BlockDriverState *bs);
void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs),
void *opaque);
--
1.8.3.1
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, (continued)
Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Eric Blake, 2014/05/15
Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Eric Blake, 2014/05/15
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Jeff Cody, 2014/05/15
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Eric Blake, 2014/05/15
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Kevin Wolf, 2014/05/16
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Jeff Cody, 2014/05/16
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Eric Blake, 2014/05/16
- Re: [Qemu-devel] [PATCH 1/5] block: Auto-generate node_names for each BDS entry, Kevin Wolf, 2014/05/16
[Qemu-devel] [PATCH 2/5] block: add helper function to determine if a BDS is in a chain,
Jeff Cody <=
[Qemu-devel] [PATCH 3/5] block: make 'top' argument to block-commit optional, Jeff Cody, 2014/05/14
[Qemu-devel] [PATCH 4/5] block: Accept node-name arguments for block-commit, Jeff Cody, 2014/05/14