All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: kwolf@redhat.com
Cc: zwu.kernel@gmail.com, armbru@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v3 0/6]: block: Add I/O status support
Date: Mon, 26 Sep 2011 17:43:49 -0300	[thread overview]
Message-ID: <1317069835-28815-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.

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(-)

             reply	other threads:[~2011-09-26 20:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-26 20:43 Luiz Capitulino [this message]
2011-09-26 20:43 ` [Qemu-devel] [PATCH 1/6] block: Keep track of devices' I/O status Luiz Capitulino
2011-09-26 20:43 ` [Qemu-devel] [PATCH 2/6] virtio: Support " Luiz Capitulino
2011-09-26 20:43 ` [Qemu-devel] [PATCH 3/6] ide: " Luiz Capitulino
2011-09-26 20:43 ` [Qemu-devel] [PATCH 4/6] scsi: " Luiz Capitulino
2011-09-26 20:43 ` [Qemu-devel] [PATCH 5/6] QMP: query-status: Add 'io-status' key Luiz Capitulino
2011-09-26 20:43 ` [Qemu-devel] [PATCH 6/6] HMP: Print 'io-status' information Luiz Capitulino
2011-09-27 18:40 ` [Qemu-devel] [PATCH v3 0/6]: block: Add I/O status support Markus Armbruster
2011-09-28  9:45 ` hkran
2011-09-28 20:00   ` Luiz Capitulino
2011-09-29  7:20 ` Mark Wu
2011-10-10 17:30 ` Kevin Wolf
2011-10-10 20:25   ` Luiz Capitulino
2011-10-11  7:49     ` Kevin Wolf

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=1317069835-28815-1-git-send-email-lcapitulino@redhat.com \
    --to=lcapitulino@redhat.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zwu.kernel@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.