• Home
  • Raw
  • Download

Lines Matching refs:acb

496     RawAIOCB *acb, **pacb;  in posix_aio_read()  local
515 acb = *pacb; in posix_aio_read()
516 if (!acb) in posix_aio_read()
518 ret = qemu_paio_error(&acb->aiocb); in posix_aio_read()
521 *pacb = acb->next; in posix_aio_read()
522 qemu_aio_release(acb); in posix_aio_read()
526 ret = qemu_paio_return(&acb->aiocb); in posix_aio_read()
527 if (ret == acb->aiocb.aio_nbytes) in posix_aio_read()
535 *pacb = acb->next; in posix_aio_read()
537 acb->common.cb(acb->common.opaque, ret); in posix_aio_read()
538 qemu_aio_release(acb); in posix_aio_read()
541 pacb = &acb->next; in posix_aio_read()
608 static void raw_aio_remove(RawAIOCB *acb) in raw_aio_remove() argument
618 } else if (*pacb == acb) { in raw_aio_remove()
619 *pacb = acb->next; in raw_aio_remove()
620 qemu_aio_release(acb); in raw_aio_remove()
630 RawAIOCB *acb = (RawAIOCB *)blockacb; in raw_aio_cancel() local
632 ret = qemu_paio_cancel(acb->aiocb.aio_fildes, &acb->aiocb); in raw_aio_cancel()
636 while (qemu_paio_error(&acb->aiocb) == EINPROGRESS); in raw_aio_cancel()
639 raw_aio_remove(acb); in raw_aio_cancel()
652 RawAIOCB *acb; in raw_aio_setup() local
657 acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); in raw_aio_setup()
658 if (!acb) in raw_aio_setup()
660 acb->aiocb.aio_fildes = s->fd; in raw_aio_setup()
661 acb->aiocb.ev_signo = SIGUSR2; in raw_aio_setup()
662 acb->aiocb.aio_iov = qiov->iov; in raw_aio_setup()
663 acb->aiocb.aio_niov = qiov->niov; in raw_aio_setup()
664 acb->aiocb.aio_nbytes = nb_sectors * 512; in raw_aio_setup()
665 acb->aiocb.aio_offset = sector_num * 512; in raw_aio_setup()
666 acb->aiocb.aio_flags = 0; in raw_aio_setup()
674 acb->aiocb.aio_flags |= QEMU_AIO_SECTOR_ALIGNED; in raw_aio_setup()
676 acb->next = posix_aio_state->first_aio; in raw_aio_setup()
677 posix_aio_state->first_aio = acb; in raw_aio_setup()
678 return acb; in raw_aio_setup()
685 RawAIOCB *acb; in raw_aio_readv() local
687 acb = raw_aio_setup(bs, sector_num, qiov, nb_sectors, cb, opaque); in raw_aio_readv()
688 if (!acb) in raw_aio_readv()
690 if (qemu_paio_read(&acb->aiocb) < 0) { in raw_aio_readv()
691 raw_aio_remove(acb); in raw_aio_readv()
694 return &acb->common; in raw_aio_readv()
701 RawAIOCB *acb; in raw_aio_writev() local
703 acb = raw_aio_setup(bs, sector_num, qiov, nb_sectors, cb, opaque); in raw_aio_writev()
704 if (!acb) in raw_aio_writev()
706 if (qemu_paio_write(&acb->aiocb) < 0) { in raw_aio_writev()
707 raw_aio_remove(acb); in raw_aio_writev()
710 return &acb->common; in raw_aio_writev()
1078 RawAIOCB *acb; in hdev_aio_ioctl() local
1083 acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); in hdev_aio_ioctl()
1084 if (!acb) in hdev_aio_ioctl()
1086 acb->aiocb.aio_fildes = s->fd; in hdev_aio_ioctl()
1087 acb->aiocb.ev_signo = SIGUSR2; in hdev_aio_ioctl()
1088 acb->aiocb.aio_offset = 0; in hdev_aio_ioctl()
1089 acb->aiocb.aio_flags = 0; in hdev_aio_ioctl()
1091 acb->next = posix_aio_state->first_aio; in hdev_aio_ioctl()
1092 posix_aio_state->first_aio = acb; in hdev_aio_ioctl()
1094 acb->aiocb.aio_ioctl_buf = buf; in hdev_aio_ioctl()
1095 acb->aiocb.aio_ioctl_cmd = req; in hdev_aio_ioctl()
1096 if (qemu_paio_ioctl(&acb->aiocb) < 0) { in hdev_aio_ioctl()
1097 raw_aio_remove(acb); in hdev_aio_ioctl()
1101 return &acb->common; in hdev_aio_ioctl()