* [Qemu-devel] [PATCH v5 4/7] Make error handling more consistent in img_create() and img_resize()
@ 2010-12-06 16:08 Jes.Sorensen
2010-12-06 16:20 ` [Qemu-devel] " Kevin Wolf
0 siblings, 1 reply; 2+ messages in thread
From: Jes.Sorensen @ 2010-12-06 16:08 UTC (permalink / raw)
To: kwolf; +Cc: stefanha, qemu-devel
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
qemu-img.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index aded72d..6b2b18b 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -314,13 +314,15 @@ static int img_create(int argc, char **argv)
drv = bdrv_find_format(fmt);
if (!drv) {
error("Unknown file format '%s'", fmt);
- return 1;
+ ret = -1;
+ goto out;
}
proto_drv = bdrv_find_protocol(filename);
if (!proto_drv) {
error("Unknown protocol '%s'", filename);
- return 1;
+ ret = -1;
+ goto out;
}
create_options = append_option_parameters(create_options,
@@ -1432,7 +1434,7 @@ static int img_resize(int argc, char **argv)
int c, ret, relative;
const char *filename, *fmt, *size;
int64_t n, total_size;
- BlockDriverState *bs;
+ BlockDriverState *bs = NULL;
QEMUOptionParameter *param;
QEMUOptionParameter resize_options[] = {
{
@@ -1483,14 +1485,16 @@ static int img_resize(int argc, char **argv)
param = parse_option_parameters("", resize_options, NULL);
if (set_option_parameter(param, BLOCK_OPT_SIZE, size)) {
/* Error message already printed when size parsing fails */
- exit(1);
+ ret = -1;
+ goto out;
}
n = get_option_parameter(param, BLOCK_OPT_SIZE)->value.n;
free_option_parameters(param);
bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR);
if (!bs) {
- return 1;
+ ret = -1;
+ goto out;
}
if (relative) {
@@ -1520,7 +1524,9 @@ static int img_resize(int argc, char **argv)
break;
}
out:
- bdrv_delete(bs);
+ if (bs) {
+ bdrv_delete(bs);
+ }
if (ret) {
return 1;
}
--
1.7.3.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-12-06 16:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-06 16:08 [Qemu-devel] [PATCH v5 4/7] Make error handling more consistent in img_create() and img_resize() Jes.Sorensen
2010-12-06 16:20 ` [Qemu-devel] " Kevin Wolf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).