Lines Matching refs:aiocbp

66 aio_read(aiocb_t *aiocbp)
68 if (aiocbp == NULL || aiocbp->aio_reqprio != 0) {
72 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
76 if (_aio_sigev_thread(aiocbp) != 0)
78 aiocbp->aio_lio_opcode = LIO_READ;
79 return (_aio_rw(aiocbp, NULL, &__nextworker_rw, AIOAREAD,
84 aio_write(aiocb_t *aiocbp)
86 if (aiocbp == NULL || aiocbp->aio_reqprio != 0) {
90 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
94 if (_aio_sigev_thread(aiocbp) != 0)
96 aiocbp->aio_lio_opcode = LIO_WRITE;
97 return (_aio_rw(aiocbp, NULL, &__nextworker_rw, AIOAWRITE,
128 aiocb_t *aiocbp;
160 if ((aiocbp = list[i]) == NULL)
162 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
166 if (_aio_sigev_thread(aiocbp) != 0)
168 if (aiocbp->aio_lio_opcode == LIO_NOP)
169 aiocbp->aio_state = NOCHECK;
171 aiocbp->aio_state = state;
172 if (KAIO_SUPPORTED(aiocbp->aio_fildes))
175 aiocbp->aio_resultp.aio_errno = ENOTSUP;
234 if ((aiocbp = list[i]) == NULL ||
235 aiocbp->aio_lio_opcode == LIO_NOP ||
236 (aiocbp->aio_resultp.aio_errno != ENOTSUP &&
237 aiocbp->aio_resultp.aio_errno != EBADFD)) {
242 if (aiocbp->aio_resultp.aio_errno == EBADFD)
243 SET_KAIO_NOT_SUPPORTED(aiocbp->aio_fildes);
244 if (aiocbp->aio_reqprio != 0) {
245 aiocbp->aio_resultp.aio_errno = EINVAL;
246 aiocbp->aio_resultp.aio_return = -1;
256 switch (aiocbp->aio_lio_opcode) {
264 error = _aio_rw(aiocbp, head, &__nextworker_rw, rw,
271 aiocbp->aio_resultp.aio_errno = error;
307 if ((aiocbp = list[i]) != NULL &&
308 aiocbp->aio_resultp.aio_errno) {
351 aiocb_t *aiocbp;
402 if ((aiocbp = listp[i]) != NULL &&
403 aiocbp->aio_state == CHECK)
404 aiocbp->aio_state = CHECKED;
507 if ((aiocbp = listp[i]) == NULL)
509 error = aiocbp->aio_resultp.aio_errno;
632 aio_error(const aiocb_t *aiocbp)
634 const aio_result_t *resultp = &aiocbp->aio_resultp;
639 if (aiocbp->aio_state == CHECK) {
646 if ((int)_kaio(AIOERROR, aiocbp) == EINVAL) {
651 } else if (aiocbp->aio_state == CHECKED) {
652 ((aiocb_t *)aiocbp)->aio_state = CHECK;
654 } else if (aiocbp->aio_state == USERAIO) {
658 ((aiocb_t *)aiocbp)->aio_state = CHECKED;
660 ((aiocb_t *)aiocbp)->aio_state = NOCHECK;
671 aio_return(aiocb_t *aiocbp)
673 aio_result_t *resultp = &aiocbp->aio_resultp;
715 aiocbp->aio_state = NOCHECK;
749 __aio_fsync_bar(aiocb_t *aiocbp, aio_lio_t *head, aio_worker_t *aiowp,
757 error = _aio_rw(aiocbp, head, &next, AIOFSYNC, AIO_NO_KAIO);
773 aio_fsync(int op, aiocb_t *aiocbp)
779 if (aiocbp == NULL)
785 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
789 if (fstat(aiocbp->aio_fildes, &statb) < 0)
791 if (_aio_sigev_thread(aiocbp) != 0)
811 return (__fdsync(aiocbp->aio_fildes, FDSYNC));
813 return (__fdsync(aiocbp->aio_fildes, FSYNC));
821 aiocbp->aio_offset = op;
822 aiocbp->aio_lio_opcode = AIOFSYNC;
840 fret = __aio_fsync_bar(aiocbp, head, __workers_rw, __rw_workerscnt);
860 aio_cancel(int fd, aiocb_t *aiocbp)
871 if (aiocbp != NULL) {
872 if (fd != aiocbp->aio_fildes) {
876 if (aiocbp->aio_state == USERAIO) {
878 reqp = _aio_hash_find(&aiocbp->aio_resultp);
894 if (aiocbp->aio_state == USERAIO_DONE)
896 return ((int)_kaio(AIOCANCEL, fd, aiocbp));
1283 aio_read64(aiocb64_t *aiocbp)
1285 if (aiocbp == NULL || aiocbp->aio_reqprio != 0) {
1289 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
1293 if (_aio_sigev_thread64(aiocbp) != 0)
1295 aiocbp->aio_lio_opcode = LIO_READ;
1296 return (_aio_rw64(aiocbp, NULL, &__nextworker_rw, AIOAREAD64,
1301 aio_write64(aiocb64_t *aiocbp)
1303 if (aiocbp == NULL || aiocbp->aio_reqprio != 0) {
1307 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
1311 if (_aio_sigev_thread64(aiocbp) != 0)
1313 aiocbp->aio_lio_opcode = LIO_WRITE;
1314 return (_aio_rw64(aiocbp, NULL, &__nextworker_rw, AIOAWRITE64,
1325 aiocb64_t *aiocbp;
1357 if ((aiocbp = list[i]) == NULL)
1359 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
1363 if (_aio_sigev_thread64(aiocbp) != 0)
1365 if (aiocbp->aio_lio_opcode == LIO_NOP)
1366 aiocbp->aio_state = NOCHECK;
1368 aiocbp->aio_state = state;
1369 if (KAIO_SUPPORTED(aiocbp->aio_fildes))
1372 aiocbp->aio_resultp.aio_errno = ENOTSUP;
1431 if ((aiocbp = list[i]) == NULL ||
1432 aiocbp->aio_lio_opcode == LIO_NOP ||
1433 (aiocbp->aio_resultp.aio_errno != ENOTSUP &&
1434 aiocbp->aio_resultp.aio_errno != EBADFD)) {
1439 if (aiocbp->aio_resultp.aio_errno == EBADFD)
1440 SET_KAIO_NOT_SUPPORTED(aiocbp->aio_fildes);
1441 if (aiocbp->aio_reqprio != 0) {
1442 aiocbp->aio_resultp.aio_errno = EINVAL;
1443 aiocbp->aio_resultp.aio_return = -1;
1453 switch (aiocbp->aio_lio_opcode) {
1461 error = _aio_rw64(aiocbp, head, &__nextworker_rw, rw,
1468 aiocbp->aio_resultp.aio_errno = error;
1504 if ((aiocbp = list[i]) != NULL &&
1505 aiocbp->aio_resultp.aio_errno) {
1524 aio_error64(const aiocb64_t *aiocbp)
1526 const aio_result_t *resultp = &aiocbp->aio_resultp;
1530 if (aiocbp->aio_state == CHECK) {
1537 if ((int)_kaio(AIOERROR64, aiocbp) == EINVAL) {
1542 } else if (aiocbp->aio_state == CHECKED) {
1543 ((aiocb64_t *)aiocbp)->aio_state = CHECK;
1550 aio_return64(aiocb64_t *aiocbp)
1552 aio_result_t *resultp = &aiocbp->aio_resultp;
1594 aiocbp->aio_state = NOCHECK;
1607 __aio_fsync_bar64(aiocb64_t *aiocbp, aio_lio_t *head, aio_worker_t *aiowp,
1615 error = _aio_rw64(aiocbp, head, &next, AIOFSYNC, AIO_NO_KAIO);
1631 aio_fsync64(int op, aiocb64_t *aiocbp)
1637 if (aiocbp == NULL)
1643 if (_aio_hash_find(&aiocbp->aio_resultp) != NULL) {
1647 if (fstat64(aiocbp->aio_fildes, &statb) < 0)
1649 if (_aio_sigev_thread64(aiocbp) != 0)
1669 return (__fdsync(aiocbp->aio_fildes, FDSYNC));
1671 return (__fdsync(aiocbp->aio_fildes, FSYNC));
1679 aiocbp->aio_offset = op;
1680 aiocbp->aio_lio_opcode = AIOFSYNC;
1698 fret = __aio_fsync_bar64(aiocbp, head, __workers_rw, __rw_workerscnt);
1718 aio_cancel64(int fd, aiocb64_t *aiocbp)
1729 if (aiocbp != NULL) {
1730 if (fd != aiocbp->aio_fildes) {
1734 if (aiocbp->aio_state == USERAIO) {
1736 reqp = _aio_hash_find(&aiocbp->aio_resultp);
1752 if (aiocbp->aio_state == USERAIO_DONE)
1754 return ((int)_kaio(AIOCANCEL, fd, aiocbp));