• L
    block: extend BLOCK_IO_ERROR event with nospace indicator · c7c2ff0c
    Luiz Capitulino 提交于
    Management software, such as RHEV's vdsm, want to be able to allocate
    disk space on demand. The basic use case is to start a VM with a small
    disk and then the disk is enlarged when QEMU hits a ENOSPC condition.
    
    To this end, the management software has to be notified when QEMU
    encounters ENOSPC. The solution implemented by this commit is simple:
    it extends the BLOCK_IO_ERROR with a 'nospace' key, which is true
    when QEMU is stopped due to ENOSPC.
    
    Note that support for querying this event is already present in
    query-block by means of the 'io-status' key. Also, the new 'nospace'
    BLOCK_IO_ERROR field shares the same semantics with 'io-status',
    which basically means that werror= has to be set to either
    'stop' or 'enospc' to enable 'nospace'.
    
    Finally, this commit also updates the 'io-status' key doc in the
    schema with a list of supported device models.
    Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    c7c2ff0c
block.c 172.8 KB