From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkFAp-0005rc-UI for qemu-devel@nongnu.org; Tue, 13 May 2014 12:03:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WkFAg-0008NK-41 for qemu-devel@nongnu.org; Tue, 13 May 2014 12:03:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:29868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkFAf-0008Mn-Ta for qemu-devel@nongnu.org; Tue, 13 May 2014 12:03:14 -0400 From: Markus Armbruster Date: Tue, 13 May 2014 18:02:51 +0200 Message-Id: <1399996972-23429-18-git-send-email-armbru@redhat.com> In-Reply-To: <1399996972-23429-1-git-send-email-armbru@redhat.com> References: <1399996972-23429-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH 17/18] block/sheepdog: Propagate errors to open and create methods List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, MORITA Kazutaka , stefanha@redhat.com Completes the conversion to Error started in commit 015a103^..d5124c0. Cc: MORITA Kazutaka Signed-off-by: Markus Armbruster --- block/sheepdog.c | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index 2cf192d..cd5981e 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1391,8 +1391,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, 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; } @@ -1415,18 +1414,14 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, if (ret < 0) { goto out; } - s->fd = get_sheep_fd(s, &local_err); + s->fd = get_sheep_fd(s, errp); if (s->fd < 0) { - qerror_report_err(local_err); - error_free(local_err); ret = s->fd; goto out; } - ret = find_vdi_name(s, vdi, snapid, tag, &vid, true, &local_err); + ret = find_vdi_name(s, vdi, snapid, tag, &vid, true, errp); if (ret) { - qerror_report_err(local_err); - error_free(local_err); goto out; } @@ -1445,10 +1440,8 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, s->is_snapshot = true; } - fd = connect_to_sdog(s, &local_err); + fd = connect_to_sdog(s, errp); if (fd < 0) { - qerror_report_err(local_err); - error_free(local_err); ret = fd; goto out; } @@ -1648,7 +1641,6 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, char tag[SD_MAX_VDI_TAG_LEN]; uint32_t snapid; bool prealloc = false; - Error *local_err = NULL; s = g_malloc0(sizeof(BDRVSheepdogState)); @@ -1710,10 +1702,8 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, bs = NULL; ret = bdrv_open(&bs, backing_file, NULL, NULL, BDRV_O_PROTOCOL, NULL, - &local_err); + errp); if (ret < 0) { - qerror_report_err(local_err); - error_free(local_err); goto out; } @@ -1729,19 +1719,13 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, bdrv_unref(bs); } - ret = do_sd_create(s, &vid, 0, &local_err); + ret = do_sd_create(s, &vid, 0, errp); if (ret) { - qerror_report_err(local_err); - error_free(local_err); goto out; } if (prealloc) { - ret = sd_prealloc(filename, &local_err); - if (ret < 0) { - qerror_report_err(local_err); - error_free(local_err); - } + ret = sd_prealloc(filename, errp); } out: g_free(s); -- 1.8.1.4