mirror of https://github.com/xemu-project/xemu.git
archipelago: Drop archipelago_aiocb_info.cancel
The cancelled flag is no longer useful. Later the request will complete as before, and cb will be called. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
722d93335f
commit
4743b42a1b
|
@ -91,7 +91,6 @@ typedef struct ArchipelagoAIOCB {
|
||||||
struct BDRVArchipelagoState *s;
|
struct BDRVArchipelagoState *s;
|
||||||
QEMUIOVector *qiov;
|
QEMUIOVector *qiov;
|
||||||
ARCHIPCmd cmd;
|
ARCHIPCmd cmd;
|
||||||
bool cancelled;
|
|
||||||
int status;
|
int status;
|
||||||
int64_t size;
|
int64_t size;
|
||||||
int64_t ret;
|
int64_t ret;
|
||||||
|
@ -318,9 +317,7 @@ static void qemu_archipelago_complete_aio(void *opaque)
|
||||||
aio_cb->common.cb(aio_cb->common.opaque, aio_cb->ret);
|
aio_cb->common.cb(aio_cb->common.opaque, aio_cb->ret);
|
||||||
aio_cb->status = 0;
|
aio_cb->status = 0;
|
||||||
|
|
||||||
if (!aio_cb->cancelled) {
|
qemu_aio_release(aio_cb);
|
||||||
qemu_aio_release(aio_cb);
|
|
||||||
}
|
|
||||||
g_free(reqdata);
|
g_free(reqdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -725,19 +722,8 @@ static int qemu_archipelago_create(const char *filename,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qemu_archipelago_aio_cancel(BlockDriverAIOCB *blockacb)
|
|
||||||
{
|
|
||||||
ArchipelagoAIOCB *aio_cb = (ArchipelagoAIOCB *) blockacb;
|
|
||||||
aio_cb->cancelled = true;
|
|
||||||
while (aio_cb->status == -EINPROGRESS) {
|
|
||||||
aio_poll(bdrv_get_aio_context(aio_cb->common.bs), true);
|
|
||||||
}
|
|
||||||
qemu_aio_release(aio_cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const AIOCBInfo archipelago_aiocb_info = {
|
static const AIOCBInfo archipelago_aiocb_info = {
|
||||||
.aiocb_size = sizeof(ArchipelagoAIOCB),
|
.aiocb_size = sizeof(ArchipelagoAIOCB),
|
||||||
.cancel = qemu_archipelago_aio_cancel,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int archipelago_submit_request(BDRVArchipelagoState *s,
|
static int archipelago_submit_request(BDRVArchipelagoState *s,
|
||||||
|
@ -889,7 +875,6 @@ static BlockDriverAIOCB *qemu_archipelago_aio_rw(BlockDriverState *bs,
|
||||||
|
|
||||||
aio_cb->ret = 0;
|
aio_cb->ret = 0;
|
||||||
aio_cb->s = s;
|
aio_cb->s = s;
|
||||||
aio_cb->cancelled = false;
|
|
||||||
aio_cb->status = -EINPROGRESS;
|
aio_cb->status = -EINPROGRESS;
|
||||||
|
|
||||||
off = sector_num * BDRV_SECTOR_SIZE;
|
off = sector_num * BDRV_SECTOR_SIZE;
|
||||||
|
|
Loading…
Reference in New Issue