aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2010-12-16 13:52:18 +0100
committerKevin Wolf <kwolf@redhat.com>2010-12-17 16:11:03 +0100
commit4f70f249ca26e11895b64199f9bcc7a1f894d978 (patch)
tree4ab7e788efd5212a678fe46e00e7b59a5f97115f
parent792da93a635bce0181c8a46a26941560bf2f7412 (diff)
downloadqemu-4f70f249ca26e11895b64199f9bcc7a1f894d978.zip
qemu-4f70f249ca26e11895b64199f9bcc7a1f894d978.tar.gz
qemu-4f70f249ca26e11895b64199f9bcc7a1f894d978.tar.bz2
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>
-rw-r--r--block.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/block.c b/block.c
index 0c14eee..fe07d0b 100644
--- a/block.c
+++ b/block.c
@@ -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;
}