| ... | ... | @@ -192,17 +192,20 @@ pub const IO_Uring = struct { |
| 192 | 192 | // The kernel was unable to allocate memory or ran out of resources for the request. |
| 193 | 193 | // The application should wait for some completions and try again: |
| 194 | 194 | linux.EAGAIN => return error.SystemResources, |
| 195 | // The SQE `fd` is invalid, or IOSQE_FIXED_FILE was set but no files were registered: |
| 196 | linux.EBADF => return error.FileDescriptorInvalid, |
| 197 | // The file descriptor is valid, but the ring is not in the right state. |
| 198 | // See io_uring_register(2) for how to enable the ring. |
| 199 | linux.EBADFD => return error.FileDescriptorInBadState, |
| 195 | 200 | // The application attempted to overcommit the number of requests it can have pending. |
| 196 | 201 | // The application should wait for some completions and try again: |
| 197 | 202 | linux.EBUSY => return error.CompletionQueueOvercommitted, |
| 198 | | // The SQE `fd` is invalid, or IOSQE_FIXED_FILE was set but no files were registered: |
| 199 | | linux.EBADF => return error.FileDescriptorInvalid, |
| 203 | // The SQE is invalid, or valid but the ring was setup with IORING_SETUP_IOPOLL: |
| 204 | linux.EINVAL => return error.SubmissionQueueEntryInvalid, |
| 200 | 205 | // The buffer is outside the process' accessible address space, or IORING_OP_READ_FIXED |
| 201 | 206 | // or IORING_OP_WRITE_FIXED was specified but no buffers were registered, or the range |
| 202 | 207 | // described by `addr` and `len` is not within the buffer registered at `buf_index`: |
| 203 | 208 | linux.EFAULT => return error.BufferInvalid, |
| 204 | | // The SQE is invalid, or valid but the ring was setup with IORING_SETUP_IOPOLL: |
| 205 | | linux.EINVAL => return error.SubmissionQueueEntryInvalid, |
| 206 | 209 | linux.ENXIO => return error.RingShuttingDown, |
| 207 | 210 | // The kernel believes our `self.fd` does not refer to an io_uring instance, |
| 208 | 211 | // or the opcode is valid but not supported by this kernel (more likely): |