rbd: Drop rbd_aiocb_info.cancel

And also drop the now unused "cancelled" field.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
master
Fam Zheng 2014-09-11 13:41:23 +08:00 committed by Stefan Hajnoczi
parent 7940e5056b
commit 7691e24dbe
1 changed files with 1 additions and 22 deletions

View File

@ -77,7 +77,6 @@ typedef struct RBDAIOCB {
int64_t sector_num; int64_t sector_num;
int error; int error;
struct BDRVRBDState *s; struct BDRVRBDState *s;
int cancelled;
int status; int status;
} RBDAIOCB; } RBDAIOCB;
@ -408,9 +407,7 @@ static void qemu_rbd_complete_aio(RADOSCB *rcb)
acb->common.cb(acb->common.opaque, (acb->ret > 0 ? 0 : acb->ret)); acb->common.cb(acb->common.opaque, (acb->ret > 0 ? 0 : acb->ret));
acb->status = 0; acb->status = 0;
if (!acb->cancelled) { qemu_aio_release(acb);
qemu_aio_release(acb);
}
} }
/* TODO Convert to fine grained options */ /* TODO Convert to fine grained options */
@ -539,25 +536,8 @@ static void qemu_rbd_close(BlockDriverState *bs)
rados_shutdown(s->cluster); rados_shutdown(s->cluster);
} }
/*
* Cancel aio. Since we don't reference acb in a non qemu threads,
* it is safe to access it here.
*/
static void qemu_rbd_aio_cancel(BlockDriverAIOCB *blockacb)
{
RBDAIOCB *acb = (RBDAIOCB *) blockacb;
acb->cancelled = 1;
while (acb->status == -EINPROGRESS) {
aio_poll(bdrv_get_aio_context(acb->common.bs), true);
}
qemu_aio_release(acb);
}
static const AIOCBInfo rbd_aiocb_info = { static const AIOCBInfo rbd_aiocb_info = {
.aiocb_size = sizeof(RBDAIOCB), .aiocb_size = sizeof(RBDAIOCB),
.cancel = qemu_rbd_aio_cancel,
}; };
static void rbd_finish_bh(void *opaque) static void rbd_finish_bh(void *opaque)
@ -640,7 +620,6 @@ static BlockDriverAIOCB *rbd_start_aio(BlockDriverState *bs,
acb->ret = 0; acb->ret = 0;
acb->error = 0; acb->error = 0;
acb->s = s; acb->s = s;
acb->cancelled = 0;
acb->bh = NULL; acb->bh = NULL;
acb->status = -EINPROGRESS; acb->status = -EINPROGRESS;