From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41455) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R90J4-0008Rm-GK for qemu-devel@nongnu.org; Wed, 28 Sep 2011 16:00:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R90J0-000208-9q for qemu-devel@nongnu.org; Wed, 28 Sep 2011 16:00:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R90Iz-000204-Vz for qemu-devel@nongnu.org; Wed, 28 Sep 2011 16:00:34 -0400 Date: Wed, 28 Sep 2011 17:00:28 -0300 From: Luiz Capitulino Message-ID: <20110928170028.7dd92fcc@doriath> In-Reply-To: <4E82ECB7.6080701@vnet.linux.ibm.com> References: <1317069835-28815-1-git-send-email-lcapitulino@redhat.com> <4E82ECB7.6080701@vnet.linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 0/6]: block: Add I/O status support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: hkran Cc: kwolf@redhat.com, zwu.kernel@gmail.com, armbru@redhat.com, qemu-devel@nongnu.org On Wed, 28 Sep 2011 17:45:27 +0800 hkran wrote: > 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. > > > > changelog > > --------- > > > > v3 > > > > o Introduce bdrv_iostatus_disable() > > o Also reset the I/O status on bdrv_attach_dev() > > o Fix bad assert() in bdrv_iostatus_enable() > > o Improve documentation > > > > v2 > > > > o Rebase against latest master > > o Renamed bdrv_iostatus_update() to bdrv_iostatus_set_err() > > o Minor changelog clarifications > > > > block.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > block.h | 10 +++++++++ > > block_int.h | 1 + > > hw/ide/core.c | 2 + > > hw/scsi-disk.c | 2 + > > hw/virtio-blk.c | 2 + > > monitor.c | 6 +++++ > > qmp-commands.hx | 6 +++++ > > 8 files changed, 86 insertions(+), 0 deletions(-) > > > Hi, > > How to reproduce a scenario in which the VM is stopped due to the I/O error? > I tried several times by copying data from one place to another place in > guest OS and finally the system prompted me that there is no space is > available, however it did not > cause any I/O error and not stop the VM either. I use the test-case described here: http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg03800.html