virtio-blk: Handle immediate flush failure properly
authorKevin Wolf <kwolf@redhat.com>
Wed, 27 Oct 2010 11:10:15 +0000 (13:10 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 4 Nov 2010 12:54:37 +0000 (13:54 +0100)
Fix virtio-blk to use the usual completion path that involves werror handling
instead of directly completing the request in cases where bdrv_aio_flush
returns NULL.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/virtio-blk.c

index dbe2070..49528a9 100644 (file)
@@ -273,7 +273,7 @@ static void virtio_blk_handle_flush(VirtIOBlockReq *req, MultiReqBuffer *mrb)
 
     acb = bdrv_aio_flush(req->dev->bs, virtio_blk_flush_complete, req);
     if (!acb) {
-        virtio_blk_req_complete(req, VIRTIO_BLK_S_IOERR);
+        virtio_blk_flush_complete(req, -EIO);
     }
 }