diff options
Diffstat (limited to 'block/io.c')
-rw-r--r-- | block/io.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/block/io.c b/block/io.c index e12f303df5..a2fba6738a 100644 --- a/block/io.c +++ b/block/io.c @@ -1902,6 +1902,27 @@ void bdrv_aio_cancel_async(BlockAIOCB *acb) /**************************************************************/ /* async block device emulation */ +typedef struct BlockRequest { + union { + /* Used during read, write, trim */ + struct { + int64_t sector; + int nb_sectors; + int flags; + QEMUIOVector *qiov; + }; + /* Used during ioctl */ + struct { + int req; + void *buf; + }; + }; + BlockCompletionFunc *cb; + void *opaque; + + int error; +} BlockRequest; + typedef struct BlockAIOCBCoroutine { BlockAIOCB common; BlockRequest req; |