提交 efde4b62 编写于 作者: M Markus Armbruster 提交者: Stefan Hajnoczi

block/sheepdog: Fix silent sd_open(), sd_create() failures

Open and create methods must set an error when they fail.

Cc: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
上级 e67c3993
...@@ -1412,6 +1412,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, ...@@ -1412,6 +1412,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags,
ret = parse_vdiname(s, filename, vdi, &snapid, tag); ret = parse_vdiname(s, filename, vdi, &snapid, tag);
} }
if (ret < 0) { if (ret < 0) {
error_setg(errp, "Can't parse filename");
goto out; goto out;
} }
s->fd = get_sheep_fd(s, errp); s->fd = get_sheep_fd(s, errp);
...@@ -1453,6 +1454,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, ...@@ -1453,6 +1454,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags,
closesocket(fd); closesocket(fd);
if (ret) { if (ret) {
error_setg(errp, "Can't read snapshot inode");
goto out; goto out;
} }
...@@ -1654,6 +1656,7 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, ...@@ -1654,6 +1656,7 @@ static int sd_create(const char *filename, QEMUOptionParameter *options,
ret = parse_vdiname(s, filename, s->name, &snapid, tag); ret = parse_vdiname(s, filename, s->name, &snapid, tag);
} }
if (ret < 0) { if (ret < 0) {
error_setg(errp, "Can't parse filename");
goto out; goto out;
} }
...@@ -1677,6 +1680,8 @@ static int sd_create(const char *filename, QEMUOptionParameter *options, ...@@ -1677,6 +1680,8 @@ static int sd_create(const char *filename, QEMUOptionParameter *options,
if (options->value.s) { if (options->value.s) {
ret = parse_redundancy(s, options->value.s); ret = parse_redundancy(s, options->value.s);
if (ret < 0) { if (ret < 0) {
error_setg(errp, "Invalid redundancy mode: '%s'",
options->value.s);
goto out; goto out;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册