qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, aliguori@us.ibm.com, armbru@redhat.com
Subject: [Qemu-devel] [PATCH v1 0/6]: block: Add I/O status support
Date: Thu,  1 Sep 2011 15:37:49 -0300	[thread overview]
Message-ID: <1314902275-5240-1-git-send-email-lcapitulino@redhat.com> (raw)

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.

Please, note that this series depends on the following series:

 o [PATCH v3 0/8]: Introduce the RunState type
 o http://lists.gnu.org/archive/html/qemu-devel/2011-09/msg00118.html

And to be able to properly test it you'll also need:

 o [PATCH 0/3] qcow2/coroutine fixes
 o http://lists.gnu.org/archive/html/qemu-devel/2011-09/msg00074.html

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 "info status" command shows that the VM is stopped due to an I/O error.
By issuing "info block" it's possible to determine that the 'ide0-hd1' device
caused the error, which turns out to be due to no space.

 block.c         |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 block.h         |    9 +++++++++
 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 |    5 +++++
 8 files changed, 77 insertions(+), 1 deletions(-)

             reply	other threads:[~2011-09-01 18:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01 18:37 Luiz Capitulino [this message]
2011-09-01 18:37 ` [Qemu-devel] [PATCH 1/6] block: Keep track of devices' I/O status Luiz Capitulino
2011-09-01 18:37 ` [Qemu-devel] [PATCH 2/6] virtio: Support " Luiz Capitulino
2011-09-01 18:37 ` [Qemu-devel] [PATCH 3/6] ide: " Luiz Capitulino
2011-09-01 18:37 ` [Qemu-devel] [PATCH 4/6] scsi: " Luiz Capitulino
2011-09-01 18:37 ` [Qemu-devel] [PATCH 5/6] QMP: query-status: Add 'io-status' key Luiz Capitulino
2011-09-01 18:37 ` [Qemu-devel] [PATCH 6/6] HMP: Print 'io-status' information Luiz Capitulino
2011-09-09 13:07 ` [Qemu-devel] [PATCH v1 0/6]: block: Add I/O status support Luiz Capitulino
2011-09-19 13:40 ` Kevin Wolf
2011-09-19 14:09   ` Luiz Capitulino
2011-09-19 14:29     ` Kevin Wolf
2011-09-23  8:55       ` Markus Armbruster
2011-09-23  9:29         ` Kevin Wolf
2011-09-23 10:13           ` Markus Armbruster
2011-09-23 13:48         ` Luiz Capitulino
2011-09-23 14:05           ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1314902275-5240-1-git-send-email-lcapitulino@redhat.com \
    --to=lcapitulino@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).