]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
qcow2: Don't ignore immediate read/write failures
authorKevin Wolf <kwolf@redhat.com>
Tue, 6 Apr 2010 13:30:09 +0000 (15:30 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 9 Apr 2010 23:51:35 +0000 (01:51 +0200)
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)

block/qcow2.c

index 4ae8f193dbe087d962ca14a1ec265310ded5c197..f6f8980edb35e8775153b7968c5b39465d31bdd4 100644 (file)
@@ -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;