From: Wen Congyang <we...@cn.fujitsu.com> We need to access the parent BDS to get the root BDS.
Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> Signed-off-by: Changlong Xie <xiecl.f...@cn.fujitsu.com> --- block.c | 1 + include/block/block_int.h | 1 + 2 files changed, 2 insertions(+) diff --git a/block.c b/block.c index 1589c0d..c9c913e 100644 --- a/block.c +++ b/block.c @@ -1204,6 +1204,7 @@ BdrvChild *bdrv_attach_child(BlockDriverState *parent_bs, BdrvChild *child = g_new(BdrvChild, 1); *child = (BdrvChild) { .bs = child_bs, + .parent = parent_bs, .name = g_strdup(child_name), .role = child_role, }; diff --git a/include/block/block_int.h b/include/block/block_int.h index ebe8b1e..19c02b6 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -361,6 +361,7 @@ extern const BdrvChildRole child_format; struct BdrvChild { BlockDriverState *bs; + BlockDriverState *parent; char *name; const BdrvChildRole *role; QLIST_ENTRY(BdrvChild) next; -- 1.9.3