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:
Paolo Bonzini 2012-03-12 17:01:48 +01:00 committed by Kevin Wolf
parent 29cdb2513c
commit 85e8dab1ef
7 changed files with 21 additions and 24 deletions

View File

@ -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,

View File

@ -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);

View File

@ -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)

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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);