Commit 85a040e5 authored by Max Reitz's avatar Max Reitz Committed by Kevin Wolf
Browse files

blkdebug: Always call read_config()



Move the check whether there actually is a config file into the
read_config() function.

Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent adf5c449
Loading
Loading
Loading
Loading
+19 −17
Original line number Diff line number Diff line
@@ -273,10 +273,11 @@ static void remove_rule(BlkdebugRule *rule)

static int read_config(BDRVBlkdebugState *s, const char *filename, Error **errp)
{
    FILE *f;
    FILE *f = NULL;
    int ret;
    struct add_rule_data d;

    if (filename) {
        f = fopen(filename, "r");
        if (f == NULL) {
            error_setg_errno(errp, errno, "Could not read blkdebug config file");
@@ -289,6 +290,7 @@ static int read_config(BDRVBlkdebugState *s, const char *filename, Error **errp)
            ret = -EINVAL;
            goto fail;
        }
    }

    d.s = s;
    d.action = ACTION_INJECT_ERROR;
@@ -301,7 +303,9 @@ static int read_config(BDRVBlkdebugState *s, const char *filename, Error **errp)
fail:
    qemu_opts_reset(&inject_error_opts);
    qemu_opts_reset(&set_state_opts);
    if (f) {
        fclose(f);
    }
    return ret;
}

@@ -374,12 +378,10 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags,

    /* Read rules from config file */
    config = qemu_opt_get(opts, "config");
    if (config) {
    ret = read_config(s, config, errp);
    if (ret) {
        goto fail;
    }
    }

    /* Set initial state */
    s->state = 1;