On 09/27/2011 04:43 AM, Luiz Capitulino wrote:
This series adds support to the block layer to keep track of devices'
I/O status. That information is also made available in QMP and HMP.
The goal here is to allow management applications that miss the
BLOCK_IO_ERROR event to able to query the VM to determine if any device has
caused the VM to stop and which device caused it.
Here's an HMP example:
(qemu) info status
VM status: paused (io-error)
(qemu) info block
ide0-hd0: removable=0 io-status=ok file=disks/test2.img ro=0 drv=qcow2
encrypted=0
ide0-hd1: removable=0 io-status=nospace file=/dev/vg_doriath/kvmtest ro=0
drv=qcow2 encrypted=0
ide1-cd0: removable=1 locked=0 io-status=ok [not inserted]
floppy0: removable=1 locked=0 [not inserted]
sd0: removable=1 locked=0 [not inserted]
The session above shows that the VM is stopped due to an I/O error. By using
the info block command it's possible to determine that the 'ide0-hd1' device
caused the error, which turns out to be due to no space.
I test it with the options enospc and stop on virtio and scsi models. It
works fine.
Tested-by: Mark Wu <wu...@vnet.linux.ibm.com>