Commit 2258e3fe authored by Max Reitz's avatar Max Reitz Committed by Kevin Wolf
Browse files

block: Pass reference to bdrv_file_open()



With that now being possible, bdrv_open() should try to extract a block
device reference from the options and pass it to bdrv_file_open().

Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 72daa72e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1056,6 +1056,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, QDict *options,
    char tmp_filename[PATH_MAX + 1];
    BlockDriverState *file = NULL;
    QDict *file_options = NULL;
    const char *file_reference;
    const char *drvname;
    Error *local_err = NULL;

@@ -1142,9 +1143,11 @@ int bdrv_open(BlockDriverState *bs, const char *filename, QDict *options,
    }

    qdict_extract_subqdict(options, &file_options, "file.");
    file_reference = qdict_get_try_str(options, "file");

    ret = bdrv_file_open(&file, filename, NULL, file_options,
    ret = bdrv_file_open(&file, filename, file_reference, file_options,
                         bdrv_open_flags(bs, flags | BDRV_O_UNMAP), &local_err);
    qdict_del(options, "file");
    if (ret < 0) {
        goto fail;
    }