[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 18/19] block/sheepdog: Fix silent sd_open(), sd_c
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 18/19] block/sheepdog: Fix silent sd_open(), sd_create() failures |
Date: |
Fri, 16 May 2014 11:00:25 +0200 |
Open and create methods must set an error when they fail.
Cc: MORITA Kazutaka <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
block/sheepdog.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 6e2f981..7bf1275 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;
}
}
--
1.8.1.4
- [Qemu-devel] [PATCH v2 08/19] block/ssh: Propagate errors through connect_to_ssh(), (continued)
- [Qemu-devel] [PATCH v2 08/19] block/ssh: Propagate errors through connect_to_ssh(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 19/19] block/sheepdog: Don't use qerror_report(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 09/19] block/ssh: Propagate errors to open and create methods, Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 07/19] block/ssh: Propagate errors through authenticate(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 17/19] block/sheepdog: Propagate errors to open and create methods, Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 15/19] block/sheepdog: Propagate errors through do_sd_create(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 14/19] block/sheepdog: Propagate errors through sd_prealloc(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 12/19] block/sheepdog: Propagate errors through connect_to_sdog(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 18/19] block/sheepdog: Fix silent sd_open(), sd_create() failures,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 13/19] block/sheepdog: Propagate errors through get_sheep_fd(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 16/19] block/sheepdog: Propagate errors through find_vdi_name(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 11/19] block/vvfat: Propagate errors through init_directories(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 06/19] block/ssh: Propagate errors through check_host_key(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 01/19] blockdev: Don't use qerror_report_err() in drive_init(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 02/19] blockdev: Don't use qerror_report() in do_drive_del(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 03/19] qemu-nbd: Don't use qerror_report(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 10/19] block/vvfat: Propagate errors through enable_write_target(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 05/19] block/ssh: Drop superfluous libssh2_session_last_errno() calls, Markus Armbruster, 2014/05/16