]> git.proxmox.com Git - mirror_qemu.git/commit - block.c
block: add .bdrv_co_is_allocated()
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Mon, 14 Nov 2011 12:44:19 +0000 (12:44 +0000)
committerKevin Wolf <kwolf@redhat.com>
Mon, 5 Dec 2011 13:51:36 +0000 (14:51 +0100)
commit376ae3f1cb5a08f53c9425bfaf90b3f70ab240f1
treef66c28d20b2756d4768551c711b5697ac8bfaf5a
parent05c4af54c670f5143bd4ac5d79aa1ef53a9f31ca
block: add .bdrv_co_is_allocated()

This patch adds the .bdrv_co_is_allocated() interface which is identical
to .bdrv_is_allocated() but runs in coroutine context.  Running in
coroutine context implies that other coroutines might be performing I/O
at the same time.   Therefore it must be safe to run while the following
BlockDriver functions are in-flight:

    .bdrv_co_readv()
    .bdrv_co_writev()
    .bdrv_co_flush()
    .bdrv_co_is_allocated()

The new .bdrv_co_is_allocated() interface is useful because it can be
used when a VM is running, whereas .bdrv_is_allocated() is a synchronous
interface that does not cope with parallel requests.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block_int.h