Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com>
---
 hw/virtio-blk.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index bf70200..692520c 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -94,6 +94,7 @@ static void virtio_blk_rw_complete(void *opaque, int ret)
 
     trace_virtio_blk_rw_complete(req, ret);
 
+    bdrv_iostatus_update(req->dev->bs, ret);
     if (ret) {
         int is_read = !(ldl_p(&req->out->type) & VIRTIO_BLK_T_OUT);
         if (virtio_blk_handle_rw_error(req, -ret, is_read))
@@ -107,6 +108,7 @@ static void virtio_blk_flush_complete(void *opaque, int ret)
 {
     VirtIOBlockReq *req = opaque;
 
+    bdrv_iostatus_update(req->dev->bs, ret);
     if (ret) {
         if (virtio_blk_handle_rw_error(req, -ret, 0)) {
             return;
@@ -577,6 +579,7 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf 
*conf)
     bdrv_set_change_cb(s->bs, virtio_blk_change_cb, s);
     s->bs->buffer_alignment = conf->logical_block_size;
 
+    bdrv_enable_iostatus(s->bs);
     add_boot_device_path(conf->bootindex, dev, "/disk@0,0");
 
     return &s->vdev;
-- 
1.7.6.131.g99019


Reply via email to