qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 0/8]: QMP: Thin provisioning support
@ 2011-07-05 18:17 Luiz Capitulino
  2011-07-05 18:17 ` [Qemu-devel] [PATCH 1/8] Introduce the VMStatus type Luiz Capitulino
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: Luiz Capitulino @ 2011-07-05 18:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, jan.kiszka, armbru, stefanha, jdenemar

Roughly speaking, thin provisioning is a feature where the VM is started with
a small storage and when a no space error is triggered, more space is allocated
and the VM is put to run again.

This series allows a management tool using QMP to implement thin provisioning
support. It does the following:

1. patches 1/8 and 2/8 extend the query-status command to contain a more
   complete and descriptive status

2. patches 3/8 to 6/8 add support to the block layer to track the status of
   the last executed I/O operation. This is supported by ide, virtio and scsi
   devices

3. The last two patches extend the "query-block" and "info block" commands
   to print the last I/O status field (this is per device)

Basically, all a management tool has to do to implement thin provisioning is
to wait for a BLOCK_IO_ERROR event (or the STOP event), check the VM is
stopped by issuing query-status and then find which device failed by using
query-block. Of course that the VM has to be configured to stop on errors.

A last important detail: Anthony has proposed how the query-status command
should be extended to support this[1]. However, I had to make the following
changes to his original proposal:

- Added states: debug, inmigrate, load-state-error and internal-error
- Dropped: singlestep

You'll find more details in the patches, thanks!

 [1] http://lists.nongnu.org/archive/html/qemu-devel/2011-06/msg00352.html

 block.c         |   37 ++++++++++++++++++++++++++++++++++++-
 block.h         |    7 +++++++
 block_int.h     |    2 ++
 gdbstub.c       |    4 ++++
 hw/ide/core.c   |    6 ++++++
 hw/scsi-disk.c  |    7 +++++++
 hw/virtio-blk.c |    4 ++++
 hw/watchdog.c   |    1 +
 kvm-all.c       |    1 +
 migration.c     |    3 +++
 monitor.c       |    8 +++++---
 qmp-commands.hx |   23 ++++++++++++++++++++++-
 sysemu.h        |   19 +++++++++++++++++++
 vl.c            |   37 +++++++++++++++++++++++++++++++++++++
 14 files changed, 154 insertions(+), 5 deletions(-)

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2011-07-12 17:59 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-05 18:17 [Qemu-devel] [PATCH v1 0/8]: QMP: Thin provisioning support Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 1/8] Introduce the VMStatus type Luiz Capitulino
2011-07-05 18:33   ` Anthony Liguori
2011-07-05 18:51     ` Luiz Capitulino
2011-07-05 18:58       ` Anthony Liguori
2011-07-05 19:34         ` Luiz Capitulino
2011-07-12  7:28   ` Markus Armbruster
2011-07-12 14:25     ` Luiz Capitulino
2011-07-12 14:51       ` Kevin Wolf
2011-07-12 15:12         ` Luiz Capitulino
2011-07-12 16:03           ` Luiz Capitulino
2011-07-12 16:16             ` Kevin Wolf
2011-07-12 17:59               ` Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 2/8] QMP: query-status: Introduce 'status' key Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 3/8] block: Support to keep track of I/O status Luiz Capitulino
2011-07-12  7:45   ` Markus Armbruster
2011-07-12  8:33     ` Kevin Wolf
2011-07-12  9:12       ` Markus Armbruster
2011-07-12 14:38         ` Luiz Capitulino
2011-07-12 14:25   ` Kevin Wolf
2011-07-12 14:56     ` Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 4/8] ide: Support " Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 5/8] virtio: " Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 6/8] scsi: " Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 7/8] QMP: query-status: Add 'io-status' key Luiz Capitulino
2011-07-12  7:47   ` Markus Armbruster
2011-07-12 14:56     ` Luiz Capitulino
2011-07-05 18:17 ` [Qemu-devel] [PATCH 8/8] HMP: Print 'io-status' information Luiz Capitulino
2011-07-11 17:43 ` [Qemu-devel] [PATCH v1 0/8]: QMP: Thin provisioning support Luiz Capitulino

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