Lines Matching refs:aiop

97     aio_req_t *reqlist, aio_t *aiop, model_t model);
98 static int aio_reqlist_concat(aio_t *aiop, aio_req_t **reqlist, int max);
399 aio_t *aiop; in aionotify() local
401 aiop = curproc->p_aio; in aionotify()
402 if (aiop == NULL) in aionotify()
405 mutex_enter(&aiop->aio_mutex); in aionotify()
406 aiop->aio_notifycnt++; in aionotify()
407 cv_broadcast(&aiop->aio_waitcv); in aionotify()
408 mutex_exit(&aiop->aio_mutex); in aionotify()
526 aio_t *aiop; in aiowait() local
534 aiop = curproc->p_aio; in aiowait()
535 if (aiop == NULL) in aiowait()
551 mutex_enter(&aiop->aio_mutex); in aiowait()
554 if (aiop->aio_pollq) { in aiowait()
555 mutex_exit(&aiop->aio_mutex); in aiowait()
557 mutex_enter(&aiop->aio_mutex); in aiowait()
564 if (aiop->aio_notifycnt > 0) { in aiowait()
565 aiop->aio_notifycnt--; in aiowait()
570 if (aiop->aio_outstanding == 0 && dontblockflg) { in aiowait()
575 status = cv_waituntil_sig(&aiop->aio_waitcv, in aiowait()
576 &aiop->aio_mutex, rqtp, timecheck); in aiowait()
589 mutex_exit(&aiop->aio_mutex); in aiowait()
593 mutex_enter(&aiop->aio_mutex); in aiowait()
594 aio_req_free(aiop, reqp); in aiowait()
595 mutex_exit(&aiop->aio_mutex); in aiowait()
611 aio_t *aiop; in aiowaitn() local
624 aiop = curproc->p_aio; in aiowaitn()
625 if (aiop == NULL || nent == 0 || nent > _AIO_LISTIO_MAX) in aiowaitn()
628 if (aiop->aio_outstanding == 0) in aiowaitn()
670 mutex_enter(&aiop->aio_mutex); in aiowaitn()
672 while (aiop->aio_flags & AIO_WAITN) { in aiowaitn()
674 mutex_exit(&aiop->aio_mutex); in aiowaitn()
679 aiop->aio_flags |= AIO_WAITN_PENDING; in aiowaitn()
680 if (!cv_wait_sig(&aiop->aio_waitncv, &aiop->aio_mutex)) { in aiowaitn()
681 mutex_exit(&aiop->aio_mutex); in aiowaitn()
696 if (iocbsz > aiop->aio_iocbsz && aiop->aio_iocb != NULL) { in aiowaitn()
697 kmem_free(aiop->aio_iocb, aiop->aio_iocbsz); in aiowaitn()
698 aiop->aio_iocb = NULL; in aiowaitn()
701 if (aiop->aio_iocb == NULL) { in aiowaitn()
704 mutex_exit(&aiop->aio_mutex); in aiowaitn()
707 aiop->aio_iocb = (aiocb_t **)iocblist; in aiowaitn()
708 aiop->aio_iocbsz = iocbsz; in aiowaitn()
710 iocblist = (char *)aiop->aio_iocb; in aiowaitn()
713 aiop->aio_waitncnt = waitcnt; in aiowaitn()
714 aiop->aio_flags |= AIO_WAITN; in aiowaitn()
718 if (aiop->aio_pollq) { in aiowaitn()
719 mutex_exit(&aiop->aio_mutex); in aiowaitn()
721 mutex_enter(&aiop->aio_mutex); in aiowaitn()
725 if (aiop->aio_doneq) { in aiowaitn()
726 cnt += aio_reqlist_concat(aiop, &reqlist, nent - cnt); in aiowaitn()
727 aiop->aio_waitncnt = waitcnt - cnt; in aiowaitn()
731 if (aiop->aio_notifycnt > 0) { in aiowaitn()
732 aiop->aio_notifycnt--; in aiowaitn()
745 if ((cnt >= waitcnt) || (cnt > 0 && aiop->aio_pending == 0 && in aiowaitn()
746 aiop->aio_doneq == NULL)) { in aiowaitn()
752 int rval = cv_waituntil_sig(&aiop->aio_waitcv, in aiowaitn()
753 &aiop->aio_mutex, rqtp, timecheck); in aiowaitn()
766 mutex_exit(&aiop->aio_mutex); in aiowaitn()
771 aiop, model); in aiowaitn()
786 mutex_enter(&aiop->aio_mutex); in aiowaitn()
787 aiop->aio_flags &= ~AIO_WAITN; in aiowaitn()
788 if (aiop->aio_flags & AIO_WAITN_PENDING) { in aiowaitn()
789 aiop->aio_flags &= ~AIO_WAITN_PENDING; in aiowaitn()
790 cv_signal(&aiop->aio_waitncv); in aiowaitn()
792 mutex_exit(&aiop->aio_mutex); in aiowaitn()
810 aio_t *aiop, in aio_unlock_requests() argument
822 mutex_enter(&aiop->aio_mutex); in aio_unlock_requests()
823 aio_req_free(aiop, reqp); in aio_unlock_requests()
824 mutex_exit(&aiop->aio_mutex); in aio_unlock_requests()
835 mutex_enter(&aiop->aio_mutex); in aio_unlock_requests()
836 aio_req_free(aiop, reqp); in aio_unlock_requests()
837 mutex_exit(&aiop->aio_mutex); in aio_unlock_requests()
853 aio_reqlist_concat(aio_t *aiop, aio_req_t **reqlist, int max) in aio_reqlist_concat() argument
859 q2 = aiop->aio_doneq; in aio_reqlist_concat()
873 aiop->aio_doneq = NULL; in aio_reqlist_concat()
883 aiop->aio_doneq = q2work; in aio_reqlist_concat()
902 aio_t *aiop; in aiosuspend() local
920 aiop = curproc->p_aio; in aiosuspend()
921 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in aiosuspend()
941 if (!blocking && (aiop->aio_pollq == NULL) && in aiosuspend()
942 (aiop->aio_doneq == NULL)) { in aiosuspend()
967 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
968 mutex_enter(&aiop->aio_mutex); in aiosuspend()
971 if (aiop->aio_pollq) { in aiosuspend()
972 mutex_exit(&aiop->aio_mutex); in aiosuspend()
973 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
975 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
976 mutex_enter(&aiop->aio_mutex); in aiosuspend()
979 if (aiop->aio_doneq) { in aiosuspend()
1023 if (aiop->aio_doneq == NULL) in aiosuspend()
1029 if (aiop->aio_notifycnt > 0) { in aiosuspend()
1035 aiop->aio_notifycnt--; in aiosuspend()
1041 if (aiop->aio_outstanding == 0) { in aiosuspend()
1050 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
1051 rv = cv_waituntil_sig(&aiop->aio_waitcv, in aiosuspend()
1052 &aiop->aio_mutex, rqtp, timecheck); in aiosuspend()
1057 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1058 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
1059 mutex_enter(&aiop->aio_mutex); in aiosuspend()
1071 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1072 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
1077 mutex_enter(&aiop->aio_mutex); in aiosuspend()
1078 aio_req_free(aiop, reqp); in aiosuspend()
1079 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1094 aio_t *aiop; in aioinit() local
1096 if ((aiop = p->p_aio) == NULL) { in aioinit()
1097 aiop = aio_aiop_alloc(); in aioinit()
1098 p->p_aio = aiop; in aioinit()
1101 if (aiop == NULL) in aioinit()
1123 aio_t *aiop; in aiostart() local
1129 if ((aiop = p->p_aio) == NULL) in aiostart()
1132 first = aiop->aio_ok; in aiostart()
1133 if (aiop->aio_ok == 0) in aiostart()
1134 aiop->aio_ok = 1; in aiostart()
1138 return (aio_cleanup_thread(aiop)); in aiostart()
1206 aio_t *aiop; in alio() local
1230 aiop = curproc->p_aio; in alio()
1231 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alio()
1277 mutex_enter(&aiop->aio_mutex); in alio()
1279 mutex_exit(&aiop->aio_mutex); in alio()
1327 mutex_enter(&aiop->aio_mutex); in alio()
1330 mutex_exit(&aiop->aio_mutex); in alio()
1340 mutex_enter(&aiop->aio_mutex); in alio()
1343 mutex_exit(&aiop->aio_mutex); in alio()
1352 mutex_enter(&aiop->aio_mutex); in alio()
1355 mutex_exit(&aiop->aio_mutex); in alio()
1368 mutex_enter(&aiop->aio_mutex); in alio()
1371 mutex_exit(&aiop->aio_mutex); in alio()
1391 mutex_enter(&aiop->aio_mutex); in alio()
1394 mutex_exit(&aiop->aio_mutex); in alio()
1403 error = aio_req_setup(&reqp, aiop, aiocb, in alio()
1409 mutex_enter(&aiop->aio_mutex); in alio()
1412 mutex_exit(&aiop->aio_mutex); in alio()
1490 mutex_enter(&aiop->aio_mutex); in alio()
1493 mutex_exit(&aiop->aio_mutex); in alio()
1515 mutex_enter(&aiop->aio_mutex); in alio()
1517 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alio()
1518 mutex_exit(&aiop->aio_mutex); in alio()
1523 mutex_exit(&aiop->aio_mutex); in alio()
1524 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_64); in alio()
1559 aio_t *aiop; in aliowait() local
1572 aiop = curproc->p_aio; in aliowait()
1573 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in aliowait()
1658 mutex_enter(&aiop->aio_mutex); in aliowait()
1660 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in aliowait()
1661 mutex_exit(&aiop->aio_mutex); in aliowait()
1666 mutex_exit(&aiop->aio_mutex); in aliowait()
1667 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, run_mode); in aliowait()
1677 aio_t *aiop; in aio_list_get() local
1682 aiop = curproc->p_aio; in aio_list_get()
1683 if (aiop == NULL) in aio_list_get()
1688 bucket = &aiop->aio_hash[index]; in aio_list_get()
1729 alio_cleanup(aio_t *aiop, aiocb_t **cbp, int nent, int run_mode) in alio_cleanup() argument
1770 mutex_enter(&aiop->aio_cleanupq_mutex); in alio_cleanup()
1771 mutex_enter(&aiop->aio_mutex); in alio_cleanup()
1773 mutex_exit(&aiop->aio_mutex); in alio_cleanup()
1774 mutex_exit(&aiop->aio_cleanupq_mutex); in alio_cleanup()
1778 mutex_enter(&aiop->aio_mutex); in alio_cleanup()
1779 aio_req_free(aiop, reqp); in alio_cleanup()
1780 mutex_exit(&aiop->aio_mutex); in alio_cleanup()
1792 aio_t *aiop; in aioerror() local
1796 aiop = curproc->p_aio; in aioerror()
1797 if (aiop == NULL || cb == NULL) in aioerror()
1821 mutex_enter(&aiop->aio_cleanupq_mutex); in aioerror()
1822 mutex_enter(&aiop->aio_mutex); in aioerror()
1824 mutex_exit(&aiop->aio_mutex); in aioerror()
1825 mutex_exit(&aiop->aio_cleanupq_mutex); in aioerror()
1829 mutex_enter(&aiop->aio_mutex); in aioerror()
1830 aio_req_free(aiop, reqp); in aioerror()
1831 mutex_exit(&aiop->aio_mutex); in aioerror()
1853 aio_t *aiop; in aio_cancel() local
1868 aiop = curproc->p_aio; in aio_cancel()
1869 if (aiop == NULL) in aio_cancel()
1872 if (aiop->aio_outstanding == 0) { in aio_cancel()
1877 mutex_enter(&aiop->aio_mutex); in aio_cancel()
1897 bucket = &aiop->aio_hash[index]; in aio_cancel()
1901 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1905 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1910 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1916 bucket = &aiop->aio_hash[index]; in aio_cancel()
1920 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1927 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1949 aio_t *aiop; in arw() local
1957 aiop = curproc->p_aio; in arw()
1958 if (aiop == NULL) in arw()
1985 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 1); in arw()
1992 error = aio_req_setupLF(&reqp, aiop, &aiocb64, resultp, vp, 1); in arw()
2022 mutex_enter(&aiop->aio_mutex); in arw()
2023 aio_req_free(aiop, reqp); in arw()
2024 aiop->aio_pending--; in arw()
2025 if (aiop->aio_flags & AIO_REQ_BLOCK) in arw()
2026 cv_signal(&aiop->aio_cleanupcv); in arw()
2027 mutex_exit(&aiop->aio_mutex); in arw()
2056 aio_t *aiop; in aiorw() local
2065 aiop = curproc->p_aio; in aiorw()
2066 if (aiop == NULL) in aiorw()
2175 error = aio_req_setupLF(&reqp, aiop, &aiocb64, resultp, vp, 0); in aiorw()
2177 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 0); in aiorw()
2223 mutex_enter(&aiop->aio_mutex); in aiorw()
2225 aio_deq(&aiop->aio_portpending, reqp); in aiorw()
2226 aio_req_free(aiop, reqp); in aiorw()
2227 aiop->aio_pending--; in aiorw()
2228 if (aiop->aio_flags & AIO_REQ_BLOCK) in aiorw()
2229 cv_signal(&aiop->aio_cleanupcv); in aiorw()
2230 mutex_exit(&aiop->aio_mutex); in aiorw()
2244 aio_t *aiop = curproc->p_aio; in lio_set_error() local
2246 if (aiop == NULL) in lio_set_error()
2249 mutex_enter(&aiop->aio_mutex); in lio_set_error()
2251 aio_deq(&aiop->aio_portpending, reqp); in lio_set_error()
2252 aiop->aio_pending--; in lio_set_error()
2262 aio_req_free(aiop, reqp); in lio_set_error()
2263 if (aiop->aio_flags & AIO_REQ_BLOCK) in lio_set_error()
2264 cv_signal(&aiop->aio_cleanupcv); in lio_set_error()
2265 mutex_exit(&aiop->aio_mutex); in lio_set_error()
2278 aio_t *aiop = curproc->p_aio; in aio_req_done() local
2281 ASSERT(MUTEX_HELD(&aiop->aio_cleanupq_mutex)); in aio_req_done()
2282 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_done()
2286 bucket = &aiop->aio_hash[index]; in aio_req_done()
2314 aio_t *aiop = curproc->p_aio; in aio_req_find() local
2317 ASSERT(MUTEX_HELD(&aiop->aio_cleanupq_mutex)); in aio_req_find()
2318 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_find()
2321 bucket = &aiop->aio_hash[index]; in aio_req_find()
2341 aio_t *aiop = curproc->p_aio; in aio_req_remove() local
2343 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_remove()
2349 if (reqp == aiop->aio_doneq) { in aio_req_remove()
2350 aiop->aio_doneq = NULL; in aio_req_remove()
2352 ASSERT(reqp == aiop->aio_cleanupq); in aio_req_remove()
2353 aiop->aio_cleanupq = NULL; in aio_req_remove()
2362 if (reqp == aiop->aio_doneq) in aio_req_remove()
2363 aiop->aio_doneq = reqp->aio_req_next; in aio_req_remove()
2365 if (reqp == aiop->aio_cleanupq) in aio_req_remove()
2366 aiop->aio_cleanupq = reqp->aio_req_next; in aio_req_remove()
2371 } else if ((reqp = aiop->aio_doneq) != NULL) { in aio_req_remove()
2375 aiop->aio_doneq = NULL; in aio_req_remove()
2379 aiop->aio_doneq = reqp->aio_req_next; in aio_req_remove()
2385 if (aiop->aio_doneq == NULL && (aiop->aio_flags & AIO_WAITN)) in aio_req_remove()
2386 cv_broadcast(&aiop->aio_waitcv); in aio_req_remove()
2393 aio_t *aiop, in aio_req_setup() argument
2422 mutex_enter(&aiop->aio_mutex); in aio_req_setup()
2424 if (aiop->aio_flags & AIO_REQ_BLOCK) { in aio_req_setup()
2425 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2435 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2440 aiop->aio_pending++; in aio_req_setup()
2441 aiop->aio_outstanding++; in aio_req_setup()
2446 aiop->aio_flags |= AIO_SOLARIS_REQ; in aio_req_setup()
2450 aio_enq(&aiop->aio_portpending, reqp, 0); in aio_req_setup()
2451 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2475 aio_t *aiop; in aio_aiop_alloc() local
2479 aiop = kmem_zalloc(sizeof (struct aio), KM_NOSLEEP); in aio_aiop_alloc()
2480 if (aiop) { in aio_aiop_alloc()
2481 mutex_init(&aiop->aio_mutex, NULL, MUTEX_DEFAULT, NULL); in aio_aiop_alloc()
2482 mutex_init(&aiop->aio_cleanupq_mutex, NULL, MUTEX_DEFAULT, in aio_aiop_alloc()
2484 mutex_init(&aiop->aio_portq_mutex, NULL, MUTEX_DEFAULT, NULL); in aio_aiop_alloc()
2486 return (aiop); in aio_aiop_alloc()
2496 aio_t *aiop = curproc->p_aio; in aio_req_alloc() local
2498 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_alloc()
2500 if ((reqp = aiop->aio_free) != NULL) { in aio_req_alloc()
2501 aiop->aio_free = reqp->aio_req_next; in aio_req_alloc()
2521 if (aio_hash_insert(reqp, aiop)) { in aio_req_alloc()
2522 reqp->aio_req_next = aiop->aio_free; in aio_req_alloc()
2523 aiop->aio_free = reqp; in aio_req_alloc()
2537 aio_t *aiop = curproc->p_aio; in aio_lio_alloc() local
2539 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_lio_alloc()
2541 if ((liop = aiop->aio_lio_free) != NULL) { in aio_lio_alloc()
2542 aiop->aio_lio_free = liop->lio_next; in aio_lio_alloc()
2573 aio_cleanup_thread(aio_t *aiop) in aio_cleanup_thread() argument
2595 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2596 if ((aiop->aio_flags & AIO_CLEANUP) == 0) { in aio_cleanup_thread()
2597 aiop->aio_flags |= AIO_CLEANUP; in aio_cleanup_thread()
2599 if (aiop->aio_rqclnup) { in aio_cleanup_thread()
2600 aiop->aio_rqclnup = 0; in aio_cleanup_thread()
2604 if (aiop->aio_doneq) { in aio_cleanup_thread()
2605 aio_req_t *doneqhead = aiop->aio_doneq; in aio_cleanup_thread()
2606 aiop->aio_doneq = NULL; in aio_cleanup_thread()
2607 aio_cleanupq_concat(aiop, doneqhead, AIO_DONEQ); in aio_cleanup_thread()
2610 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2616 cvp = &aiop->aio_cleanupcv; in aio_cleanup_thread()
2617 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2619 if (aiop->aio_pollq != NULL || aiop->aio_cleanupq != NULL || in aio_cleanup_thread()
2620 aiop->aio_notifyq != NULL || in aio_cleanup_thread()
2621 aiop->aio_portcleanupq != NULL) { in aio_cleanup_thread()
2622 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2650 (aiop->aio_pending == 0))) { in aio_cleanup_thread()
2651 aiop->aio_flags &= ~(AIO_CLEANUP | AIO_CLEANUP_PORT); in aio_cleanup_thread()
2655 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2676 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2677 aiop->aio_flags |= AIO_REQ_BLOCK; in aio_cleanup_thread()
2678 while (aiop->aio_pending != 0) in aio_cleanup_thread()
2679 cv_wait(&aiop->aio_cleanupcv, in aio_cleanup_thread()
2680 &aiop->aio_mutex); in aio_cleanup_thread()
2681 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2725 if (aiop->aio_rqclnup && in aio_cleanup_thread()
2726 (aiop->aio_flags & AIO_CLEANUP) == 0) in aio_cleanup_thread()
2731 if (aiop->aio_outstanding != 0) in aio_cleanup_thread()
2750 aio_t *aiop) in aio_hash_insert() argument
2758 nextp = &aiop->aio_hash[index]; in aio_hash_insert()
2908 aio_t *aiop; in alioLF() local
2935 aiop = curproc->p_aio; in alioLF()
2936 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alioLF()
2985 mutex_enter(&aiop->aio_mutex); in alioLF()
2987 mutex_exit(&aiop->aio_mutex); in alioLF()
3036 mutex_enter(&aiop->aio_mutex); in alioLF()
3039 mutex_exit(&aiop->aio_mutex); in alioLF()
3049 mutex_enter(&aiop->aio_mutex); in alioLF()
3052 mutex_exit(&aiop->aio_mutex); in alioLF()
3061 mutex_enter(&aiop->aio_mutex); in alioLF()
3064 mutex_exit(&aiop->aio_mutex); in alioLF()
3077 mutex_enter(&aiop->aio_mutex); in alioLF()
3080 mutex_exit(&aiop->aio_mutex); in alioLF()
3100 mutex_enter(&aiop->aio_mutex); in alioLF()
3103 mutex_exit(&aiop->aio_mutex); in alioLF()
3114 error = aio_req_setup(&reqp, aiop, &aiocb_n, in alioLF()
3117 error = aio_req_setupLF(&reqp, aiop, aiocb, in alioLF()
3124 mutex_enter(&aiop->aio_mutex); in alioLF()
3127 mutex_exit(&aiop->aio_mutex); in alioLF()
3205 mutex_enter(&aiop->aio_mutex); in alioLF()
3208 mutex_exit(&aiop->aio_mutex); in alioLF()
3230 mutex_enter(&aiop->aio_mutex); in alioLF()
3232 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alioLF()
3233 mutex_exit(&aiop->aio_mutex); in alioLF()
3238 mutex_exit(&aiop->aio_mutex); in alioLF()
3239 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_LARGEFILE); in alioLF()
3290 aio_t *aiop, in aio_req_setupLF() argument
3319 mutex_enter(&aiop->aio_mutex); in aio_req_setupLF()
3321 if (aiop->aio_flags & AIO_REQ_BLOCK) { in aio_req_setupLF()
3322 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3332 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3337 aiop->aio_pending++; in aio_req_setupLF()
3338 aiop->aio_outstanding++; in aio_req_setupLF()
3343 aiop->aio_flags |= AIO_SOLARIS_REQ; in aio_req_setupLF()
3347 aio_enq(&aiop->aio_portpending, reqp, 0); in aio_req_setupLF()
3348 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3383 aio_t *aiop; in alio32() local
3418 aiop = curproc->p_aio; in alio32()
3419 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alio32()
3470 mutex_enter(&aiop->aio_mutex); in alio32()
3472 mutex_exit(&aiop->aio_mutex); in alio32()
3527 mutex_enter(&aiop->aio_mutex); in alio32()
3530 mutex_exit(&aiop->aio_mutex); in alio32()
3546 mutex_enter(&aiop->aio_mutex); in alio32()
3549 mutex_exit(&aiop->aio_mutex); in alio32()
3558 mutex_enter(&aiop->aio_mutex); in alio32()
3561 mutex_exit(&aiop->aio_mutex); in alio32()
3574 mutex_enter(&aiop->aio_mutex); in alio32()
3577 mutex_exit(&aiop->aio_mutex); in alio32()
3597 mutex_enter(&aiop->aio_mutex); in alio32()
3600 mutex_exit(&aiop->aio_mutex); in alio32()
3609 error = aio_req_setup(&reqp, aiop, aiocb, in alio32()
3615 mutex_enter(&aiop->aio_mutex); in alio32()
3618 mutex_exit(&aiop->aio_mutex); in alio32()
3710 mutex_enter(&aiop->aio_mutex); in alio32()
3713 mutex_exit(&aiop->aio_mutex); in alio32()
3735 mutex_enter(&aiop->aio_mutex); in alio32()
3737 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alio32()
3738 mutex_exit(&aiop->aio_mutex); in alio32()
3743 mutex_exit(&aiop->aio_mutex); in alio32()
3744 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_32); in alio32()
3808 aio_t *aiop = curproc->p_aio; in aio_port_callback() local
3819 mutex_enter(&aiop->aio_portq_mutex); in aio_port_callback()
3821 aio_req_remove_portq(aiop, reqp); /* remove request from portq */ in aio_port_callback()
3822 mutex_exit(&aiop->aio_portq_mutex); in aio_port_callback()
3824 mutex_enter(&aiop->aio_mutex); in aio_port_callback()
3826 aio_req_free_port(aiop, reqp); /* back to free list */ in aio_port_callback()
3827 mutex_exit(&aiop->aio_mutex); in aio_port_callback()
3834 aio_req_free_port(aiop, reqp); /* request struct back to free list */ in aio_port_callback()
3835 mutex_exit(&aiop->aio_mutex); in aio_port_callback()