Commit 1f38f04e authored by Max Reitz's avatar Max Reitz Committed by Kevin Wolf
Browse files

block: Pass BdrvChildRole in remaining cases



These calls have no real use for the child role yet, but it will not
harm to give one.

Notably, the bdrv_root_attach_child() call in blockjob.c is left
unmodified because there is not much the generic BlockJob object wants
from its children.

Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
Message-Id: <20200513110544.176672-34-mreitz@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent f6de853f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -424,8 +424,9 @@ BlockBackend *blk_new_open(const char *filename, const char *reference,
        return NULL;
    }

    blk->root = bdrv_root_attach_child(bs, "root", &child_root, 0, blk->ctx,
                                       perm, BLK_PERM_ALL, blk, errp);
    blk->root = bdrv_root_attach_child(bs, "root", &child_root,
                                       BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                                       blk->ctx, perm, BLK_PERM_ALL, blk, errp);
    if (!blk->root) {
        blk_unref(blk);
        return NULL;
@@ -835,8 +836,10 @@ int blk_insert_bs(BlockBackend *blk, BlockDriverState *bs, Error **errp)
{
    ThrottleGroupMember *tgm = &blk->public.throttle_group_member;
    bdrv_ref(bs);
    blk->root = bdrv_root_attach_child(bs, "root", &child_root, 0, blk->ctx,
                                       blk->perm, blk->shared_perm, blk, errp);
    blk->root = bdrv_root_attach_child(bs, "root", &child_root,
                                       BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                                       blk->ctx, blk->perm, blk->shared_perm,
                                       blk, errp);
    if (blk->root == NULL) {
        return -EPERM;
    }
+3 −1
Original line number Diff line number Diff line
@@ -3184,7 +3184,9 @@ static int enable_write_target(BlockDriverState *bs, Error **errp)
    options = qdict_new();
    qdict_put_str(options, "write-target.driver", "qcow");
    s->qcow = bdrv_open_child(s->qcow_filename, options, "write-target", bs,
                              &child_vvfat_qcow, 0, false, errp);
                              &child_vvfat_qcow,
                              BDRV_CHILD_DATA | BDRV_CHILD_METADATA,
                              false, errp);
    qobject_unref(options);
    if (!s->qcow) {
        ret = -EINVAL;