On 11/2/25 22:43, Kevin Wolf wrote:
This is the equivalent of bdrv_open_file_child() to be used in cases
where the caller is QAPI based and has a BlockdevRef rather than a
filename and an options QDict.
Signed-off-by: Kevin Wolf <kw...@redhat.com>
---
include/block/block-global-state.h | 4 ++++
block.c | 30 +++++++++++++++++++++++++++---
2 files changed, 31 insertions(+), 3 deletions(-)
+BlockDriverState *bdrv_open_blockdev_ref_file(BlockdevRef *ref,
+ BlockDriverState *parent,
+ Error **errp)
+{
+ BdrvChildRole role;
+
+ /* commit_top and mirror_top don't use this function */
+ assert(!parent->drv->filtered_child_is_backing);
+ role = parent->drv->is_filter ?
+ (BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY) : BDRV_CHILD_IMAGE;
Nitpicking style:
role = parent->drv->is_filter
? (BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY)
: BDRV_CHILD_IMAGE;
+ return bdrv_open_blockdev_ref_common(ref, parent, &child_of_bds, role,
+ true, errp);
+}