cow: correctly propagate errors

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Paolo Bonzini 2014-02-17 14:43:56 +01:00 committed by Kevin Wolf
parent a7451cb850
commit f8d924e481

View File

@ -82,7 +82,7 @@ static int cow_open(BlockDriverState *bs, QDict *options, int flags,
char version[64]; char version[64];
snprintf(version, sizeof(version), snprintf(version, sizeof(version),
"COW version %d", cow_header.version); "COW version %d", cow_header.version);
qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE, error_set(errp, QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
bs->device_name, "cow", version); bs->device_name, "cow", version);
ret = -ENOTSUP; ret = -ENOTSUP;
goto fail; goto fail;
@ -346,8 +346,7 @@ static int cow_create(const char *filename, QEMUOptionParameter *options,
ret = bdrv_create_file(filename, options, &local_err); ret = bdrv_create_file(filename, options, &local_err);
if (ret < 0) { if (ret < 0) {
qerror_report_err(local_err); error_propagate(errp, local_err);
error_free(local_err);
return ret; return ret;
} }
@ -355,8 +354,7 @@ static int cow_create(const char *filename, QEMUOptionParameter *options,
ret = bdrv_open(&cow_bs, filename, NULL, NULL, ret = bdrv_open(&cow_bs, filename, NULL, NULL,
BDRV_O_RDWR | BDRV_O_PROTOCOL, NULL, &local_err); BDRV_O_RDWR | BDRV_O_PROTOCOL, NULL, &local_err);
if (ret < 0) { if (ret < 0) {
qerror_report_err(local_err); error_propagate(errp, local_err);
error_free(local_err);
return ret; return ret;
} }