aio: move BlockDriverAIOCB to qemu-aio.h
And remove several block_int.h inclusions that should not be there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
29cdb2513c
commit
85e8dab1ef
2
block.h
2
block.h
@ -180,8 +180,6 @@ typedef struct BdrvCheckResult {
|
|||||||
int bdrv_check(BlockDriverState *bs, BdrvCheckResult *res);
|
int bdrv_check(BlockDriverState *bs, BdrvCheckResult *res);
|
||||||
|
|
||||||
/* async block I/O */
|
/* async block I/O */
|
||||||
typedef struct BlockDriverAIOCB BlockDriverAIOCB;
|
|
||||||
typedef void BlockDriverCompletionFunc(void *opaque, int ret);
|
|
||||||
typedef void BlockDriverDirtyHandler(BlockDriverState *bs, int64_t sector,
|
typedef void BlockDriverDirtyHandler(BlockDriverState *bs, int64_t sector,
|
||||||
int sector_num);
|
int sector_num);
|
||||||
BlockDriverAIOCB *bdrv_aio_readv(BlockDriverState *bs, int64_t sector_num,
|
BlockDriverAIOCB *bdrv_aio_readv(BlockDriverState *bs, int64_t sector_num,
|
||||||
|
18
block_int.h
18
block_int.h
@ -53,12 +53,6 @@
|
|||||||
|
|
||||||
typedef struct BdrvTrackedRequest BdrvTrackedRequest;
|
typedef struct BdrvTrackedRequest BdrvTrackedRequest;
|
||||||
|
|
||||||
typedef struct AIOPool {
|
|
||||||
void (*cancel)(BlockDriverAIOCB *acb);
|
|
||||||
int aiocb_size;
|
|
||||||
BlockDriverAIOCB *free_aiocb;
|
|
||||||
} AIOPool;
|
|
||||||
|
|
||||||
typedef struct BlockIOLimit {
|
typedef struct BlockIOLimit {
|
||||||
int64_t bps[3];
|
int64_t bps[3];
|
||||||
int64_t iops[3];
|
int64_t iops[3];
|
||||||
@ -302,20 +296,8 @@ struct BlockDriverState {
|
|||||||
BlockJob *job;
|
BlockJob *job;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BlockDriverAIOCB {
|
|
||||||
AIOPool *pool;
|
|
||||||
BlockDriverState *bs;
|
|
||||||
BlockDriverCompletionFunc *cb;
|
|
||||||
void *opaque;
|
|
||||||
BlockDriverAIOCB *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
void get_tmp_filename(char *filename, int size);
|
void get_tmp_filename(char *filename, int size);
|
||||||
|
|
||||||
void *qemu_aio_get(AIOPool *pool, BlockDriverState *bs,
|
|
||||||
BlockDriverCompletionFunc *cb, void *opaque);
|
|
||||||
void qemu_aio_release(void *p);
|
|
||||||
|
|
||||||
void bdrv_set_io_limits(BlockDriverState *bs,
|
void bdrv_set_io_limits(BlockDriverState *bs,
|
||||||
BlockIOLimit *io_limits);
|
BlockIOLimit *io_limits);
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dma.h"
|
#include "dma.h"
|
||||||
#include "block_int.h"
|
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
void qemu_sglist_init(QEMUSGList *qsg, int alloc_hint)
|
void qemu_sglist_init(QEMUSGList *qsg, int alloc_hint)
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
#include "dma.h"
|
#include "dma.h"
|
||||||
#include "blockdev.h"
|
#include "blockdev.h"
|
||||||
#include "block_int.h"
|
|
||||||
|
|
||||||
#include <hw/ide/internal.h>
|
#include <hw/ide/internal.h>
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include "hw.h"
|
#include "hw.h"
|
||||||
#include "pci.h"
|
#include "pci.h"
|
||||||
#include "scsi.h"
|
#include "scsi.h"
|
||||||
#include "block_int.h"
|
|
||||||
#include "dma.h"
|
#include "dma.h"
|
||||||
|
|
||||||
//#define DEBUG_LSI
|
//#define DEBUG_LSI
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qemu-aio.h"
|
#include "qemu-aio.h"
|
||||||
#include "block_int.h"
|
|
||||||
#include "block/raw-posix-aio.h"
|
#include "block/raw-posix-aio.h"
|
||||||
|
|
||||||
#include <sys/eventfd.h>
|
#include <sys/eventfd.h>
|
||||||
|
21
qemu-aio.h
21
qemu-aio.h
@ -17,6 +17,27 @@
|
|||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qemu-char.h"
|
#include "qemu-char.h"
|
||||||
|
|
||||||
|
typedef struct BlockDriverAIOCB BlockDriverAIOCB;
|
||||||
|
typedef void BlockDriverCompletionFunc(void *opaque, int ret);
|
||||||
|
|
||||||
|
typedef struct AIOPool {
|
||||||
|
void (*cancel)(BlockDriverAIOCB *acb);
|
||||||
|
int aiocb_size;
|
||||||
|
BlockDriverAIOCB *free_aiocb;
|
||||||
|
} AIOPool;
|
||||||
|
|
||||||
|
struct BlockDriverAIOCB {
|
||||||
|
AIOPool *pool;
|
||||||
|
BlockDriverState *bs;
|
||||||
|
BlockDriverCompletionFunc *cb;
|
||||||
|
void *opaque;
|
||||||
|
BlockDriverAIOCB *next;
|
||||||
|
};
|
||||||
|
|
||||||
|
void *qemu_aio_get(AIOPool *pool, BlockDriverState *bs,
|
||||||
|
BlockDriverCompletionFunc *cb, void *opaque);
|
||||||
|
void qemu_aio_release(void *p);
|
||||||
|
|
||||||
/* Returns 1 if there are still outstanding AIO requests; 0 otherwise */
|
/* Returns 1 if there are still outstanding AIO requests; 0 otherwise */
|
||||||
typedef int (AioFlushHandler)(void *opaque);
|
typedef int (AioFlushHandler)(void *opaque);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user