[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/14] Make error handling more consistent in img_cr
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 08/14] Make error handling more consistent in img_create() and img_resize() |
Date: |
Thu, 9 Dec 2010 12:10:04 +0100 |
From: Jes Sorensen <address@hidden>
Signed-off-by: Jes Sorensen <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
qemu-img.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index 6fd52e9..5b6e648 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -349,13 +349,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,
@@ -1492,7 +1494,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[] = {
{
@@ -1544,14 +1546,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) {
@@ -1581,7 +1585,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.2.3
- [Qemu-devel] [PULL 00/14] Block patches, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 01/14] block: Make bdrv_create_file() ':' handling consistent, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 03/14] Use qemu_mallocz() instead of calloc() in img_convert(), Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 02/14] Add missing tracing to qemu_mallocz(), Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 05/14] Consolidate printing of block driver options, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 07/14] Fail if detecting an unknown option, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 06/14] Fix formatting and missing braces in qemu-img.c, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 04/14] img_convert(): Only try to free bs[] entries if bs is valid., Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 08/14] Make error handling more consistent in img_create() and img_resize(),
Kevin Wolf <=
- [Qemu-devel] [PATCH 10/14] qemu-img: Deprecate obsolete -6 and -e options, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 11/14] qemu-option: Don't reinvent append_option_parameters(), Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 12/14] qemu-option: Fix parse_option_parameters() documentation typo, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 09/14] ceph/rbd block driver for qemu-kvm, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 14/14] qemu-img: Fail creation if backing format is invalid, Kevin Wolf, 2010/12/09
- [Qemu-devel] [PATCH 13/14] qemu-img: Free option parameter lists in img_create(), Kevin Wolf, 2010/12/09
- [Qemu-devel] Re: [PULL 00/14] Block patches, Kevin Wolf, 2010/12/15
- Re: [Qemu-devel] [PULL 00/14] Block patches, Anthony Liguori, 2010/12/17