diff options
author | Kevin Wolf <kwolf@redhat.com> | 2010-04-06 15:30:09 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-04-10 01:51:35 +0200 |
commit | e00722122380b173eccfa246167241c8adf940c6 (patch) | |
tree | 10db54d7c90034a7be2e5e38fe1e8e2e30d86e35 | |
parent | block: Fix multiwrite memory leak in error case (diff) | |
download | qemu-kvm-e00722122380b173eccfa246167241c8adf940c6.tar.gz qemu-kvm-e00722122380b173eccfa246167241c8adf940c6.tar.bz2 qemu-kvm-e00722122380b173eccfa246167241c8adf940c6.zip |
qcow2: Don't ignore immediate read/write failures
Returning -EIO is far from optimal, but at least it's an error code.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 171e3d6b9997c98a97d0c525867f7cd9b640cadd)
-rw-r--r-- | block/qcow2.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/block/qcow2.c b/block/qcow2.c index 4ae8f193d..f6f8980ed 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -467,8 +467,10 @@ static void qcow_aio_read_cb(void *opaque, int ret) acb->hd_aiocb = bdrv_aio_readv(s->hd, (acb->cluster_offset >> 9) + index_in_cluster, &acb->hd_qiov, acb->n, qcow_aio_read_cb, acb); - if (acb->hd_aiocb == NULL) + if (acb->hd_aiocb == NULL) { + ret = -EIO; goto done; + } } return; @@ -620,8 +622,10 @@ static void qcow_aio_write_cb(void *opaque, int ret) (acb->cluster_offset >> 9) + index_in_cluster, &acb->hd_qiov, acb->n, qcow_aio_write_cb, acb); - if (acb->hd_aiocb == NULL) + if (acb->hd_aiocb == NULL) { + ret = -EIO; goto done; + } return; |