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