Roughly speaking, thin provisioning is a feature where the VM is started with a small disk and space is allocated on demand.
It's already possible for QMP clients to implement this feature by using the BLOCK_IO_ERROR event. However, the event can be missed. When this happens QMP clients need a way to query if any block device has hit a no space condition. This is what this series is about: it extends the query-block command to contain the disk's I/O status. Please, note that this series depends on the following two other series: 1. [PATCH 00/55] Block layer cleanup & fixes (by Markus) 2. [PATCH 0/7]: Introduce the QemuState type (by me) changelog --------- v2 - Split the series in two (first part already sent) - Rebased on top of Markus's block layer cleanup series and using BlockDevOps - Only make the 'io-status' key available if the VM is stopped block.c | 38 ++++++++++++++++++++++++++++++++++++++ block.h | 11 +++++++++++ hw/ide/core.c | 16 ++++++++++++++++ hw/ide/internal.h | 2 ++ hw/scsi-disk.c | 18 ++++++++++++++++++ hw/virtio-blk.c | 14 ++++++++++++++ qemu-tool.c | 6 ++++++ qmp-commands.hx | 3 +++ 8 files changed, 108 insertions(+), 0 deletions(-)