• Home
  • Raw
  • Download

Lines Matching refs:acb

422     struct qemu_paiocb *acb, **pacb;  in posix_aio_process_queue()  local
430 acb = *pacb; in posix_aio_process_queue()
431 if (!acb) in posix_aio_process_queue()
435 if (acb->async_context_id != async_context_id) { in posix_aio_process_queue()
436 pacb = &acb->next; in posix_aio_process_queue()
440 ret = qemu_paio_error(acb); in posix_aio_process_queue()
443 *pacb = acb->next; in posix_aio_process_queue()
444 qemu_aio_release(acb); in posix_aio_process_queue()
449 ret = qemu_paio_return(acb); in posix_aio_process_queue()
450 if (ret == acb->aio_nbytes) in posix_aio_process_queue()
461 *pacb = acb->next; in posix_aio_process_queue()
463 acb->common.cb(acb->common.opaque, ret); in posix_aio_process_queue()
464 qemu_aio_release(acb); in posix_aio_process_queue()
468 pacb = &acb->next; in posix_aio_process_queue()
518 static void paio_remove(struct qemu_paiocb *acb) in paio_remove() argument
528 } else if (*pacb == acb) { in paio_remove()
529 *pacb = acb->next; in paio_remove()
530 qemu_aio_release(acb); in paio_remove()
539 struct qemu_paiocb *acb = (struct qemu_paiocb *)blockacb; in paio_cancel() local
545 if (!acb->active) { in paio_cancel()
546 QTAILQ_REMOVE(&request_list, acb, node); in paio_cancel()
547 acb->ret = -ECANCELED; in paio_cancel()
548 } else if (acb->ret == -EINPROGRESS) { in paio_cancel()
556 while (qemu_paio_error(acb) == EINPROGRESS) in paio_cancel()
560 paio_remove(acb); in paio_cancel()
572 struct qemu_paiocb *acb; in paio_submit() local
574 acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); in paio_submit()
575 if (!acb) in paio_submit()
577 acb->aio_type = type; in paio_submit()
578 acb->aio_fildes = fd; in paio_submit()
579 acb->ev_signo = SIGUSR2; in paio_submit()
580 acb->async_context_id = get_async_context_id(); in paio_submit()
583 acb->aio_iov = qiov->iov; in paio_submit()
584 acb->aio_niov = qiov->niov; in paio_submit()
586 acb->aio_nbytes = nb_sectors * 512; in paio_submit()
587 acb->aio_offset = sector_num * 512; in paio_submit()
589 acb->next = posix_aio_state->first_aio; in paio_submit()
590 posix_aio_state->first_aio = acb; in paio_submit()
593 qemu_paio_submit(acb); in paio_submit()
594 return &acb->common; in paio_submit()
601 struct qemu_paiocb *acb; in paio_ioctl() local
603 acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); in paio_ioctl()
604 if (!acb) in paio_ioctl()
606 acb->aio_type = QEMU_AIO_IOCTL; in paio_ioctl()
607 acb->aio_fildes = fd; in paio_ioctl()
608 acb->ev_signo = SIGUSR2; in paio_ioctl()
609 acb->async_context_id = get_async_context_id(); in paio_ioctl()
610 acb->aio_offset = 0; in paio_ioctl()
611 acb->aio_ioctl_buf = buf; in paio_ioctl()
612 acb->aio_ioctl_cmd = req; in paio_ioctl()
614 acb->next = posix_aio_state->first_aio; in paio_ioctl()
615 posix_aio_state->first_aio = acb; in paio_ioctl()
617 qemu_paio_submit(acb); in paio_ioctl()
618 return &acb->common; in paio_ioctl()