• Home
  • Raw
  • Download

Lines Matching refs:acb

2184     BlockDriverAIOCB *acb;  in bdrv_aio_multiwrite()  local
2228 acb = bdrv_aio_writev(bs, reqs[i].sector, reqs[i].qiov, in bdrv_aio_multiwrite()
2231 if (acb == NULL) { in bdrv_aio_multiwrite()
2271 void bdrv_aio_cancel(BlockDriverAIOCB *acb) in bdrv_aio_cancel() argument
2273 acb->pool->cancel(acb); in bdrv_aio_cancel()
2292 BlockDriverAIOCBSync *acb = in bdrv_aio_cancel_em() local
2294 qemu_bh_delete(acb->bh); in bdrv_aio_cancel_em()
2295 acb->bh = NULL; in bdrv_aio_cancel_em()
2296 qemu_aio_release(acb); in bdrv_aio_cancel_em()
2306 BlockDriverAIOCBSync *acb = opaque; in bdrv_aio_bh_cb() local
2308 if (!acb->is_write) in bdrv_aio_bh_cb()
2309 qemu_iovec_from_buffer(acb->qiov, acb->bounce, acb->qiov->size); in bdrv_aio_bh_cb()
2310 qemu_vfree(acb->bounce); in bdrv_aio_bh_cb()
2311 acb->common.cb(acb->common.opaque, acb->ret); in bdrv_aio_bh_cb()
2312 qemu_bh_delete(acb->bh); in bdrv_aio_bh_cb()
2313 acb->bh = NULL; in bdrv_aio_bh_cb()
2314 qemu_aio_release(acb); in bdrv_aio_bh_cb()
2326 BlockDriverAIOCBSync *acb; in bdrv_aio_rw_vector() local
2328 acb = qemu_aio_get(&bdrv_em_aio_pool, bs, cb, opaque); in bdrv_aio_rw_vector()
2329 acb->is_write = is_write; in bdrv_aio_rw_vector()
2330 acb->qiov = qiov; in bdrv_aio_rw_vector()
2331 acb->bounce = qemu_blockalign(bs, qiov->size); in bdrv_aio_rw_vector()
2333 if (!acb->bh) in bdrv_aio_rw_vector()
2334 acb->bh = qemu_bh_new(bdrv_aio_bh_cb, acb); in bdrv_aio_rw_vector()
2337 qemu_iovec_to_buffer(acb->qiov, acb->bounce); in bdrv_aio_rw_vector()
2338 acb->ret = bdrv_write(bs, sector_num, acb->bounce, nb_sectors); in bdrv_aio_rw_vector()
2340 acb->ret = bdrv_read(bs, sector_num, acb->bounce, nb_sectors); in bdrv_aio_rw_vector()
2343 qemu_bh_schedule(acb->bh); in bdrv_aio_rw_vector()
2345 return &acb->common; in bdrv_aio_rw_vector()
2365 BlockDriverAIOCBSync *acb; in bdrv_aio_flush_em() local
2367 acb = qemu_aio_get(&bdrv_em_aio_pool, bs, cb, opaque); in bdrv_aio_flush_em()
2368 acb->is_write = 1; /* don't bounce in the completion hadler */ in bdrv_aio_flush_em()
2369 acb->qiov = NULL; in bdrv_aio_flush_em()
2370 acb->bounce = NULL; in bdrv_aio_flush_em()
2371 acb->ret = 0; in bdrv_aio_flush_em()
2373 if (!acb->bh) in bdrv_aio_flush_em()
2374 acb->bh = qemu_bh_new(bdrv_aio_bh_cb, acb); in bdrv_aio_flush_em()
2377 qemu_bh_schedule(acb->bh); in bdrv_aio_flush_em()
2378 return &acb->common; in bdrv_aio_flush_em()
2384 BlockDriverAIOCBSync *acb; in bdrv_aio_noop_em() local
2386 acb = qemu_aio_get(&bdrv_em_aio_pool, bs, cb, opaque); in bdrv_aio_noop_em()
2387 acb->is_write = 1; /* don't bounce in the completion handler */ in bdrv_aio_noop_em()
2388 acb->qiov = NULL; in bdrv_aio_noop_em()
2389 acb->bounce = NULL; in bdrv_aio_noop_em()
2390 acb->ret = 0; in bdrv_aio_noop_em()
2392 if (!acb->bh) { in bdrv_aio_noop_em()
2393 acb->bh = qemu_bh_new(bdrv_aio_bh_cb, acb); in bdrv_aio_noop_em()
2396 qemu_bh_schedule(acb->bh); in bdrv_aio_noop_em()
2397 return &acb->common; in bdrv_aio_noop_em()
2414 BlockDriverAIOCB *acb; in bdrv_read_em() local
2424 acb = bdrv_aio_readv(bs, sector_num, &qiov, nb_sectors, in bdrv_read_em()
2426 if (acb == NULL) { in bdrv_read_em()
2445 BlockDriverAIOCB *acb; in bdrv_write_em() local
2455 acb = bdrv_aio_writev(bs, sector_num, &qiov, nb_sectors, in bdrv_write_em()
2457 if (acb == NULL) { in bdrv_write_em()
2484 BlockDriverAIOCB *acb; in qemu_aio_get() local
2487 acb = pool->free_aiocb; in qemu_aio_get()
2488 pool->free_aiocb = acb->next; in qemu_aio_get()
2490 acb = qemu_mallocz(pool->aiocb_size); in qemu_aio_get()
2491 acb->pool = pool; in qemu_aio_get()
2493 acb->bs = bs; in qemu_aio_get()
2494 acb->cb = cb; in qemu_aio_get()
2495 acb->opaque = opaque; in qemu_aio_get()
2496 return acb; in qemu_aio_get()
2501 BlockDriverAIOCB *acb = (BlockDriverAIOCB *)p; in qemu_aio_release() local
2502 AIOPool *pool = acb->pool; in qemu_aio_release()
2503 acb->next = pool->free_aiocb; in qemu_aio_release()
2504 pool->free_aiocb = acb; in qemu_aio_release()