[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 0/8]: QMP: Thin provisioning support
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH v1 0/8]: QMP: Thin provisioning support |
Date: |
Tue, 5 Jul 2011 15:17:43 -0300 |
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(-)