mirror of https://github.com/proxmox/mirror_qemu
blkdebug: Use errp for read_config()
Use an Error variable in the read_config() function. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>master
parent
4694020d3c
commit
466b49f276
|
@ -271,7 +271,7 @@ static void remove_rule(BlkdebugRule *rule)
|
||||||
g_free(rule);
|
g_free(rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_config(BDRVBlkdebugState *s, const char *filename)
|
static int read_config(BDRVBlkdebugState *s, const char *filename, Error **errp)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -279,11 +279,14 @@ static int read_config(BDRVBlkdebugState *s, const char *filename)
|
||||||
|
|
||||||
f = fopen(filename, "r");
|
f = fopen(filename, "r");
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
|
error_setg_errno(errp, errno, "Could not read blkdebug config file");
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = qemu_config_parse(f, config_groups, filename);
|
ret = qemu_config_parse(f, config_groups, filename);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
error_setg(errp, "Could not parse blkdebug config file");
|
||||||
|
ret = -EINVAL;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,9 +373,8 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags,
|
||||||
/* Read rules from config file */
|
/* Read rules from config file */
|
||||||
config = qemu_opt_get(opts, "config");
|
config = qemu_opt_get(opts, "config");
|
||||||
if (config) {
|
if (config) {
|
||||||
ret = read_config(s, config);
|
ret = read_config(s, config, errp);
|
||||||
if (ret < 0) {
|
if (ret) {
|
||||||
error_setg_errno(errp, -ret, "Could not read blkdebug config file");
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue