[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 18/54] gluster: correctly propagate errors
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 18/54] gluster: correctly propagate errors |
Date: |
Fri, 21 Feb 2014 23:12:15 +0100 |
From: Paolo Bonzini <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block/gluster.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/block/gluster.c b/block/gluster.c
index 89450efd2..14d390b 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 (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.1.4
- [Qemu-devel] [PULL 09/54] block: Reuse success path from bdrv_open(), (continued)
- [Qemu-devel] [PULL 09/54] block: Reuse success path from bdrv_open(), Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 10/54] block: Remove bdrv_open_image()'s force_raw option, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 11/54] nbd: produce a better error if neither host nor port is passed, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 12/54] nbd: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 13/54] nbd: inline tcp_socket_incoming_spec into sole caller, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 14/54] nbd: move socket wrappers to qemu-nbd, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 15/54] iscsi: fix indentation, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 16/54] iscsi: correctly propagate errors in iscsi_open, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 17/54] gluster: default scheme to gluster:// and host to localhost., Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 19/54] cow: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 18/54] gluster: correctly propagate errors,
Kevin Wolf <=
- [Qemu-devel] [PULL 20/54] curl: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 21/54] qcow: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 22/54] qed: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 23/54] vhdx: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 25/54] vmdk: extract vmdk_read_desc, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 26/54] vmdk: push vmdk_read_desc up to caller, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 24/54] vvfat: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 27/54] vmdk: do not try opening a file as both image and descriptor, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 28/54] vmdk: correctly propagate errors, Kevin Wolf, 2014/02/21
- [Qemu-devel] [PULL 29/54] block: do not abuse EMEDIUMTYPE, Kevin Wolf, 2014/02/21