summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorHalil Pasic <pasic@linux.vnet.ibm.com>2016-10-11 16:12:35 +0200
committerKevin Wolf <kwolf@redhat.com>2016-10-24 17:54:03 +0200
commit09237757a8b2af0a5e6f1141de2d65433e509691 (patch)
tree80728a719999d63d40ebdb861d09f785fb1f9f66 /block
parent0153d2f50bc2ad3f41810d838fcf66acbf10f07a (diff)
downloadqemu-09237757a8b2af0a5e6f1141de2d65433e509691.tar.gz
block: improve error handling in raw_open
Make raw_open for POSIX more consistent in handling errors by setting the error object also when qemu_open fails. The error object was set generally set in case of errors, but I guess this case was overlooked. Do the same for win32. Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Sascha Silbe <silbe@linux.vnet.ibm.com> Tested-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com> (POSIX only) Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/raw-posix.c1
-rw-r--r--block/raw-win32.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/block/raw-posix.c b/block/raw-posix.c
index 166e9d1ad5..f481e57f78 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -443,6 +443,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options,
fd = qemu_open(filename, s->open_flags, 0644);
if (fd < 0) {
ret = -errno;
+ error_setg_errno(errp, errno, "Could not open '%s'", filename);
if (ret == -EROFS) {
ret = -EACCES;
}
diff --git a/block/raw-win32.c b/block/raw-win32.c
index 734bb105bd..800fabdd72 100644
--- a/block/raw-win32.c
+++ b/block/raw-win32.c
@@ -373,6 +373,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags,
if (s->hfile == INVALID_HANDLE_VALUE) {
int err = GetLastError();
+ error_setg_win32(errp, err, "Could not open '%s'", filename);
if (err == ERROR_ACCESS_DENIED) {
ret = -EACCES;
} else {