Lines Matching refs:laiocb

80 static void qemu_laio_process_completion(struct qemu_laiocb *laiocb)  in qemu_laio_process_completion()  argument
84 ret = laiocb->ret; in qemu_laio_process_completion()
86 if (ret == laiocb->nbytes) { in qemu_laio_process_completion()
90 if (laiocb->is_read) { in qemu_laio_process_completion()
91 qemu_iovec_memset(laiocb->qiov, ret, 0, in qemu_laio_process_completion()
92 laiocb->qiov->size - ret); in qemu_laio_process_completion()
99 laiocb->ret = ret; in qemu_laio_process_completion()
107 assert(laiocb->co->ctx == laiocb->ctx->aio_context); in qemu_laio_process_completion()
108 if (!qemu_coroutine_entered(laiocb->co)) { in qemu_laio_process_completion()
109 aio_co_wake(laiocb->co); in qemu_laio_process_completion()
217 struct qemu_laiocb *laiocb = in qemu_laio_process_completions() local
220 laiocb->ret = io_event_ret(&events[s->event_idx]); in qemu_laio_process_completions()
225 qemu_laio_process_completion(laiocb); in qemu_laio_process_completions()
370 static int laio_do_submit(int fd, struct qemu_laiocb *laiocb, off_t offset, in laio_do_submit() argument
373 LinuxAioState *s = laiocb->ctx; in laio_do_submit()
374 struct iocb *iocbs = &laiocb->iocb; in laio_do_submit()
375 QEMUIOVector *qiov = laiocb->qiov; in laio_do_submit()
396 io_set_eventfd(&laiocb->iocb, event_notifier_get_fd(&s->e)); in laio_do_submit()
398 QSIMPLEQ_INSERT_TAIL(&s->io_q.pending, laiocb, next); in laio_do_submit()
416 struct qemu_laiocb laiocb = { in laio_co_submit() local
425 ret = laio_do_submit(fd, &laiocb, offset, type, dev_max_batch); in laio_co_submit()
430 if (laiocb.ret == -EINPROGRESS) { in laio_co_submit()
433 return laiocb.ret; in laio_co_submit()