Lines Matching refs:lio_context
1464 aio_lio_context *lio_context;
1471 lio_context = NULL;
1495 MALLOC( lio_context, aio_lio_context*, sizeof(aio_lio_context), M_TEMP, M_WAITOK );
1496 if ( lio_context == NULL ) {
1505 bzero(lio_context, sizeof(aio_lio_context));
1526 lio_context->io_issued = uap->nent;
1527 lio_context->io_waiter = uap->mode == LIO_WAIT ? 1 : 0; /* Should it be freed by last AIO */
1538 lio_context->io_issued--;
1544 * We use lio_context to mark IO requests for delayed completion
1549 * We use the address of the lio_context for this, since it is
1552 result = lio_create_entry( p, my_aiocbp, lio_context, (entryp_listp + i) );
1560 lio_context->io_issued--;
1581 lio_context->io_issued--;
1604 while (lio_context->io_completed < lio_context->io_issued) {
1605 result = msleep(lio_context, aio_proc_mutex(p), PCATCH | PRIBIO | PSPIN, "lio_listio", 0);
1610 lio_context->io_waiter = 0;
1616 if (lio_context->io_completed == lio_context->io_issued) {
1638 if ((lio_context != NULL) && ((lio_context->io_issued == 0) || (free_context == TRUE))) {
1639 free_lio_context(lio_context);
2219 aio_lio_context *lio_context = NULL;
2222 lio_context = (aio_lio_context *)entryp->group_tag;
2224 if (lio_context != NULL) {
2229 lio_context->io_completed++;
2232 if (lio_context->io_issued == lio_context->io_completed) {
2236 waiter = lio_context->io_waiter;
2241 wakeup(lio_context);
2251 if (lio_context == NULL) {
2347 free_lio_context (lio_context);