aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Cody <jcody@redhat.com>2016-04-05 23:11:34 -0400
committerJeff Cody <jcody@redhat.com>2016-04-19 12:24:59 -0400
commita882745356b17925b83c93d0b821adba8050236f (patch)
tree86fe803a086e022a714384c9ff2a8ae62fa73f90
parentd4dffa4a3f51b10cc0b7e6e34431919cac7a318e (diff)
downloadqemu-arm-a882745356b17925b83c93d0b821adba8050236f.tar.gz
block/gluster: return correct error value
Upon error, gluster will call the aio callback function with a ret value of -1, with errno set to the proper error value. If we set the acb->ret value to the return value in the callback, that results in every error being EPERM (i.e. 1). Instead, set it to the proper error result. Reviewed-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Jeff Cody <jcody@redhat.com>
-rw-r--r--block/gluster.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/gluster.c b/block/gluster.c
index 51e154c247..b0e2cc2a98 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -247,7 +247,7 @@ static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, void *arg)
if (!ret || ret == acb->size) {
acb->ret = 0; /* Success */
} else if (ret < 0) {
- acb->ret = ret; /* Read/Write failed */
+ acb->ret = -errno; /* Read/Write failed */
} else {
acb->ret = -EIO; /* Partial read/write - fail it */
}