| 833 | } |
| 834 | |
| 835 | static void |
| 836 | aio_process_sync(struct kaiocb *job) |
| 837 | { |
| 838 | struct thread *td = curthread; |
| 839 | struct ucred *td_savedcred = td->td_ucred; |
| 840 | struct file *fp = job->fd_file; |
| 841 | int error = 0; |
| 842 | |
| 843 | KASSERT(job->uaiocb.aio_lio_opcode & LIO_SYNC, |
| 844 | ("%s: opcode %d", __func__, job->uaiocb.aio_lio_opcode)); |
| 845 | |
| 846 | td->td_ucred = job->cred; |
| 847 | if (fp->f_vnode != NULL) { |
| 848 | error = aio_fsync_vnode(td, fp->f_vnode, |
| 849 | job->uaiocb.aio_lio_opcode); |
| 850 | } |
| 851 | td->td_ucred = td_savedcred; |
| 852 | if (error) |
| 853 | aio_complete(job, -1, error); |
| 854 | else |
| 855 | aio_complete(job, 0, 0); |
| 856 | } |
| 857 | |
| 858 | static void |
| 859 | aio_process_mlock(struct kaiocb *job) |
nothing calls this directly
no test coverage detected