bdrv_img_create() use proper errno return values

Kevin suggested to have bdrv_img_create() return proper -errno values
on error.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Jes Sorensen 2010-12-16 13:52:18 +01:00 committed by Kevin Wolf
parent 792da93a63
commit 4f70f249ca
1 changed files with 10 additions and 13 deletions

23
block.c
View File

@ -2773,14 +2773,14 @@ int bdrv_img_create(const char *filename, const char *fmt,
drv = bdrv_find_format(fmt);
if (!drv) {
error_report("Unknown file format '%s'", fmt);
ret = -1;
ret = -EINVAL;
goto out;
}
proto_drv = bdrv_find_protocol(filename);
if (!proto_drv) {
error_report("Unknown protocol '%s'", filename);
ret = -1;
ret = -EINVAL;
goto out;
}
@ -2799,7 +2799,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
param = parse_option_parameters(options, create_options, param);
if (param == NULL) {
error_report("Invalid options for file format '%s'.", fmt);
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2809,7 +2809,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
base_filename)) {
error_report("Backing file not supported for file format '%s'",
fmt);
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2818,7 +2818,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
if (set_option_parameter(param, BLOCK_OPT_BACKING_FMT, base_fmt)) {
error_report("Backing file format not supported for file "
"format '%s'", fmt);
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2828,7 +2828,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
if (!strcmp(filename, backing_file->value.s)) {
error_report("Error: Trying to create an image with the "
"same filename as the backing file");
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2838,7 +2838,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
if (!bdrv_find_format(backing_fmt->value.s)) {
error_report("Unknown backing file format '%s'",
backing_fmt->value.s);
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2860,7 +2860,6 @@ int bdrv_img_create(const char *filename, const char *fmt,
ret = bdrv_open(bs, backing_file->value.s, flags, drv);
if (ret < 0) {
error_report("Could not open '%s'", filename);
ret = -1;
goto out;
}
bdrv_get_geometry(bs, &size);
@ -2870,7 +2869,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
set_option_parameter(param, BLOCK_OPT_SIZE, buf);
} else {
error_report("Image creation needs a size parameter");
ret = -1;
ret = -EINVAL;
goto out;
}
}
@ -2901,8 +2900,6 @@ out:
if (bs) {
bdrv_delete(bs);
}
if (ret) {
return 1;
}
return 0;
return ret;
}