diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2010-02-03 12:41:04 -0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-02-10 11:57:03 -0600 |
commit | eaa6c85f5df022e65a3c5c14908cd191430cbff5 (patch) | |
tree | a1a76694b0c55f17f637a77709edd68f3d5984c0 | |
parent | 380f640f96c8ae5b257bd4dec9b27cecd9d7e683 (diff) |
virtio-blk: Generate BLOCK_IO_ERROR QMP event
Just call bdrv_mon_event() in the right place.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/virtio-blk.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index 037a79c5ff..75adbec07a 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -105,16 +105,20 @@ static int virtio_blk_handle_rw_error(VirtIOBlockReq *req, int error, drive_get_on_error(req->dev->bs, is_read); VirtIOBlock *s = req->dev; - if (action == BLOCK_ERR_IGNORE) + if (action == BLOCK_ERR_IGNORE) { + bdrv_mon_event(req->dev->bs, BDRV_ACTION_IGNORE, is_read); return 0; + } if ((error == ENOSPC && action == BLOCK_ERR_STOP_ENOSPC) || action == BLOCK_ERR_STOP_ANY) { req->next = s->rq; s->rq = req; vm_stop(0); + bdrv_mon_event(req->dev->bs, BDRV_ACTION_STOP, is_read); } else { virtio_blk_req_complete(req, VIRTIO_BLK_S_IOERR); + bdrv_mon_event(req->dev->bs, BDRV_ACTION_REPORT, is_read); } return 1; |