[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 08/20] gluster: correctly propagate errors
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 08/20] gluster: correctly propagate errors |
Date: |
Tue, 11 Feb 2014 18:03:41 +0100 |
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/gluster.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/block/gluster.c b/block/gluster.c
index f9dd37f..bc9c59f 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -175,7 +175,8 @@ out:
return ret;
}
-static struct glfs *qemu_gluster_init(GlusterConf *gconf, const char *filename)
+static struct glfs *qemu_gluster_init(GlusterConf *gconf, const char *filename,
+ Error **errp)
{
struct glfs *glfs = NULL;
int ret;
@@ -183,8 +184,8 @@ static struct glfs *qemu_gluster_init(GlusterConf *gconf,
const char *filename)
ret = qemu_gluster_parseuri(gconf, filename);
if (ret < 0) {
- error_report("Usage: file=gluster[+transport]://[server[:port]]/"
- "volname/image[?socket=...]");
+ error_setg(errp, "Usage: file=gluster[+transport]://[server[:port]]/"
+ "volname/image[?socket=...]");
errno = -ret;
goto out;
}
@@ -211,9 +212,11 @@ static struct glfs *qemu_gluster_init(GlusterConf *gconf,
const char *filename)
ret = glfs_init(glfs);
if (ret) {
- error_report("Gluster connection failed for server=%s port=%d "
- "volume=%s image=%s transport=%s", gconf->server, gconf->port,
- gconf->volname, gconf->image, gconf->transport);
+ error_setg_errno(errp, errno,
+ "Gluster connection failed for server=%s port=%d "
+ "volume=%s image=%s transport=%s", gconf->server,
+ gconf->port, gconf->volname, gconf->image,
+ gconf->transport);
goto out;
}
return glfs;
@@ -283,15 +286,14 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict
*options,
opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
qemu_opts_absorb_qdict(opts, options, &local_err);
if (error_is_set(&local_err)) {
- qerror_report_err(local_err);
- error_free(local_err);
+ error_propagate(errp, local_err);
ret = -EINVAL;
goto out;
}
filename = qemu_opt_get(opts, "filename");
- s->glfs = qemu_gluster_init(gconf, filename);
+ s->glfs = qemu_gluster_init(gconf, filename, errp);
if (!s->glfs) {
ret = -errno;
goto out;
@@ -389,9 +391,9 @@ static int qemu_gluster_create(const char *filename,
int64_t total_size = 0;
GlusterConf *gconf = g_malloc0(sizeof(GlusterConf));
- glfs = qemu_gluster_init(gconf, filename);
+ glfs = qemu_gluster_init(gconf, filename, errp);
if (!glfs) {
- ret = -errno;
+ ret = -EINVAL;
goto out;
}
--
1.8.5.3
- Re: [Qemu-devel] [PATCH v2 01/20] nbd: produce a better error if neither host nor port is passed, (continued)
- [Qemu-devel] [PATCH v2 02/20] nbd: correctly propagate errors, Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 03/20] nbd: inline tcp_socket_incoming_spec into sole caller, Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 04/20] nbd: move socket wrappers to qemu-nbd, Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 07/20] gluster: default scheme to gluster:// and host to localhost., Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 06/20] iscsi: correctly propagate errors in iscsi_open, Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 08/20] gluster: correctly propagate errors,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v2 10/20] curl: correctly propagate errors, Paolo Bonzini, 2014/02/11
- [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Paolo Bonzini, 2014/02/11
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Kevin Wolf, 2014/02/14
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Jeff Cody, 2014/02/14
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Markus Armbruster, 2014/02/15
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Fam Zheng, 2014/02/17
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Paolo Bonzini, 2014/02/17
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Jeff Cody, 2014/02/17
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Fam Zheng, 2014/02/17
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, Kevin Wolf, 2014/02/17