From: Markus Armbruster Date: Fri, 16 May 2014 09:00:25 +0000 (+0200) Subject: block/sheepdog: Fix silent sd_open(), sd_create() failures X-Git-Tag: qemu-xen-4.6.0-rc1~426^2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=efde4b625216b7066b56707d70ae3212edad0eea;p=qemu-xen.git block/sheepdog: Fix silent sd_open(), sd_create() failures Open and create methods must set an error when they fail. Cc: MORITA Kazutaka Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Signed-off-by: Stefan Hajnoczi --- diff --git a/block/sheepdog.c b/block/sheepdog.c index 6e2f9812fe..7bf1275546 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1412,6 +1412,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, ret = parse_vdiname(s, filename, vdi, &snapid, tag); } if (ret < 0) { + error_setg(errp, "Can't parse filename"); goto out; } s->fd = get_sheep_fd(s, errp); @@ -1453,6 +1454,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, closesocket(fd); if (ret) { + error_setg(errp, "Can't read snapshot inode"); goto out; } @@ -1654,6 +1656,7 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, ret = parse_vdiname(s, filename, s->name, &snapid, tag); } if (ret < 0) { + error_setg(errp, "Can't parse filename"); goto out; } @@ -1677,6 +1680,8 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, if (options->value.s) { ret = parse_redundancy(s, options->value.s); if (ret < 0) { + error_setg(errp, "Invalid redundancy mode: '%s'", + options->value.s); goto out; } }