block: document semantics of bdrv_co_preadv|pwritev
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
d7a753a148
commit
64182a6b8b
@ -150,12 +150,43 @@ struct BlockDriver {
|
|||||||
|
|
||||||
int coroutine_fn (*bdrv_co_readv)(BlockDriverState *bs,
|
int coroutine_fn (*bdrv_co_readv)(BlockDriverState *bs,
|
||||||
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov);
|
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @offset: position in bytes to read at
|
||||||
|
* @bytes: number of bytes to read
|
||||||
|
* @qiov: the buffers to fill with read data
|
||||||
|
* @flags: currently unused, always 0
|
||||||
|
*
|
||||||
|
* @offset and @bytes will be a multiple of 'request_alignment',
|
||||||
|
* but the length of individual @qiov elements does not have to
|
||||||
|
* be a multiple.
|
||||||
|
*
|
||||||
|
* @bytes will always equal the total size of @qiov, and will be
|
||||||
|
* no larger than 'max_transfer'.
|
||||||
|
*
|
||||||
|
* The buffer in @qiov may point directly to guest memory.
|
||||||
|
*/
|
||||||
int coroutine_fn (*bdrv_co_preadv)(BlockDriverState *bs,
|
int coroutine_fn (*bdrv_co_preadv)(BlockDriverState *bs,
|
||||||
uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags);
|
uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags);
|
||||||
int coroutine_fn (*bdrv_co_writev)(BlockDriverState *bs,
|
int coroutine_fn (*bdrv_co_writev)(BlockDriverState *bs,
|
||||||
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov);
|
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov);
|
||||||
int coroutine_fn (*bdrv_co_writev_flags)(BlockDriverState *bs,
|
int coroutine_fn (*bdrv_co_writev_flags)(BlockDriverState *bs,
|
||||||
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov, int flags);
|
int64_t sector_num, int nb_sectors, QEMUIOVector *qiov, int flags);
|
||||||
|
/**
|
||||||
|
* @offset: position in bytes to write at
|
||||||
|
* @bytes: number of bytes to write
|
||||||
|
* @qiov: the buffers containing data to write
|
||||||
|
* @flags: zero or more bits allowed by 'supported_write_flags'
|
||||||
|
*
|
||||||
|
* @offset and @bytes will be a multiple of 'request_alignment',
|
||||||
|
* but the length of individual @qiov elements does not have to
|
||||||
|
* be a multiple.
|
||||||
|
*
|
||||||
|
* @bytes will always equal the total size of @qiov, and will be
|
||||||
|
* no larger than 'max_transfer'.
|
||||||
|
*
|
||||||
|
* The buffer in @qiov may point directly to guest memory.
|
||||||
|
*/
|
||||||
int coroutine_fn (*bdrv_co_pwritev)(BlockDriverState *bs,
|
int coroutine_fn (*bdrv_co_pwritev)(BlockDriverState *bs,
|
||||||
uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags);
|
uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user