Home | History | Annotate | Download | only in kern

Lines Matching refs:aiocbp

151 static int		aiocbp_insert(struct aiosp *, struct aiocbp *);
155 struct aio_job **, struct aiocbp **);
349 aiost_sigsend(job->p, &job->aiocbp.aio_sigevent);
405 job->aiocbp._errno = ECANCELED;
971 struct aiocb *aiocbp = &job->aiocbp;
973 if (aiocbp->aio_nbytes > SSIZE_MAX)
981 aiov->iov_base = aiocbp->aio_buf;
982 aiov->iov_len = aiocbp->aio_nbytes;
986 auio->uio_resid = aiocbp->aio_nbytes;
987 auio->uio_offset = aiocbp->aio_offset;
1002 struct aiocb *aiocbp = &job->aiocbp;
1017 error = (*fp->f_ops->fo_write)(fp, &aiocbp->aio_offset,
1021 job->aiocbp.aio_nbytes -= auio.uio_resid;
1022 job->aiocbp._retval = (error == 0) ? job->aiocbp.aio_nbytes : -1;
1024 job->aiocbp._errno = error;
1025 job->aiocbp._state = JOB_DONE;
1038 struct aiocb *aiocbp = &job->aiocbp;
1052 error = (*fp->f_ops->fo_read)(fp, &aiocbp->aio_offset,
1055 job->aiocbp.aio_nbytes -= auio.uio_resid;
1056 job->aiocbp._retval = (error == 0) ? job->aiocbp.aio_nbytes : -1;
1058 job->aiocbp._errno = error;
1059 job->aiocbp._state = JOB_DONE;
1094 job->aiocbp._retval = (error == 0) ? 0 : -1;
1096 job->aiocbp._errno = error;
1097 job->aiocbp._state = JOB_DONE;
1099 copyout(&job->aiocbp, job->aiocb_uptr, sizeof(job->aiocbp));
1179 if (job->aiocbp._state == JOB_NONE) {
1184 *retval = job->aiocbp._errno;
1196 struct aiocbp *handle = NULL;
1212 if (job->aiocbp._state != JOB_DONE) {
1220 *retval = job->aiocbp._retval;
1227 job->aiocbp._errno = 0;
1228 job->aiocbp._retval = -1;
1229 job->aiocbp._state = JOB_NONE;
1259 struct aiocbp *aiocbp;
1267 TAILQ_FOREACH(aiocbp, &aiosp->aio_hash[hash], list) {
1268 if (aiocbp->uptr == uptr) {
1269 job = aiocbp->job;
1290 struct aio_job **jobp, struct aiocbp **handlep)
1292 struct aiocbp *aiocbp;
1303 TAILQ_FOREACH(aiocbp, &aiosp->aio_hash[hash], list) {
1304 if (aiocbp->uptr == uptr) {
1305 job = aiocbp->job;
1310 TAILQ_REMOVE(&aiosp->aio_hash[hash], aiocbp, list);
1313 *handlep = aiocbp;
1329 aiocbp_insert(struct aiosp *aiosp, struct aiocbp *aiocbp)
1331 struct aiocbp *found;
1335 uptr = aiocbp->uptr;
1341 found->job = aiocbp->job;
1347 TAILQ_INSERT_HEAD(&aiosp->aio_hash[hash], aiocbp, list);
1388 struct aiocbp *aiocbp;
1392 struct aiocbp *tmp;
1393 TAILQ_FOREACH_SAFE(aiocbp, &aiosp->aio_hash[i], list, tmp) {
1394 TAILQ_REMOVE(&aiosp->aio_hash[i], aiocbp, list);
1395 kmem_free(aiocbp, sizeof(*aiocbp));
1652 memcpy(&a_job->aiocbp, &aiocb, sizeof(aiocb));
1674 struct aiocbp *aiocbp = kmem_zalloc(sizeof(*aiocbp), KM_SLEEP);
1675 aiocbp->job = a_job;
1676 aiocbp->uptr = aiocb_uptr;
1677 error = aiocbp_insert(&aio->aiosp, aiocbp);
1681 kmem_free(aiocbp, sizeof(*aiocbp));
1717 kmem_free(aiocbp, sizeof(*aiocbp));
1766 aiocbp_uptr = (struct aiocb *)SCARG(uap, aiocbp);
1819 if (job->aiocbp.aio_fildes == (int)fildes) {
1852 const void *uptr = SCARG(uap, aiocbp);
1868 return aio_enqueue_job(op, SCARG(uap, aiocbp), NULL);
1877 error = aio_enqueue_job(AIO_READ, SCARG(uap, aiocbp), NULL);
1899 const void *uptr = SCARG(uap, aiocbp);
1949 error = aio_enqueue_job(AIO_WRITE, SCARG(uap, aiocbp), NULL);
2203 job->aio_op, job->aiocbp._errno, job->aiocbp._state,
2206 job->aiocbp.aio_fildes,
2207 (unsigned long long)job->aiocbp.aio_offset,
2208 (void *)job->aiocbp.aio_buf,
2209 (size_t)job->aiocbp.aio_nbytes,
2223 j->aio_op, j->aiocbp._errno,
2224 j->aiocbp._state, j->aiocb_uptr);
2227 j->aiocbp.aio_fildes,
2228 (unsigned long long)j->aiocbp.aio_offset,
2229 j->aiocbp.aio_buf,
2230 (size_t)j->aiocbp.aio_nbytes);
2242 /* aiocbp hash maps user aiocbp to kernel job */
2247 struct aiocbp *hc;