diff options
Diffstat (limited to 'lib/libc/aio')
| -rw-r--r-- | lib/libc/aio/aio.c | 21 | ||||
| -rw-r--r-- | lib/libc/aio/aio_cancel.c | 19 | ||||
| -rw-r--r-- | lib/libc/aio/aio_error.c | 8 | ||||
| -rw-r--r-- | lib/libc/aio/aio_fsync.c | 12 | ||||
| -rw-r--r-- | lib/libc/aio/aio_read.c | 10 | ||||
| -rw-r--r-- | lib/libc/aio/aio_return.c | 10 | ||||
| -rw-r--r-- | lib/libc/aio/aio_suspend.c | 26 | ||||
| -rw-r--r-- | lib/libc/aio/aio_write.c | 10 | ||||
| -rw-r--r-- | lib/libc/aio/lio_listio.c | 21 |
9 files changed, 76 insertions, 61 deletions
diff --git a/lib/libc/aio/aio.c b/lib/libc/aio/aio.c index 0ca2ec64..204f2296 100644 --- a/lib/libc/aio/aio.c +++ b/lib/libc/aio/aio.c @@ -1,10 +1,14 @@ -#include <__aio.h> -#include <io_uring.h> -#include <signal.h> -#include <stdint.h> -#include <string.h> -#include <sys/mman.h> -#include <unistd.h> +#include "aio.h" // for aiocb +#include "linux/io_uring.h" // for io_uring_sqe, io_uring_cqe, io_uring_sqe... +#include "stddef.h" // for NULL + +#include <__aio.h> // for aio_request, aio_context, lio_group, AIO... +#include <aio.h> // for sigevent +#include <io_uring.h> // for __io_uring, io_uring, io_uring_cq, io_ur... +#include <signal.h> // for kill, SIGEV_SIGNAL, SIGEV_THREAD +#include <stdint.h> // for uint64_t +#include <string.h> // for memset +#include <unistd.h> // for getpid, write struct aio_context __aio_context = { 0 }; @@ -103,8 +107,7 @@ void __aio_poll(void) unsigned tail = *__io_uring.cq.tail; while (head != tail) { - struct io_uring_cqe *cqe = - &__io_uring.cq.cqes[head & *__io_uring.cq.ring_mask]; + struct io_uring_cqe *cqe = &__io_uring.cq.cqes[head & *__io_uring.cq.ring_mask]; struct aio_request *req = (struct aio_request *)cqe->user_data; diff --git a/lib/libc/aio/aio_cancel.c b/lib/libc/aio/aio_cancel.c index b4d373bf..5bb340db 100644 --- a/lib/libc/aio/aio_cancel.c +++ b/lib/libc/aio/aio_cancel.c @@ -1,11 +1,14 @@ -#include <__aio.h> -#include <errno.h> -#include <io_uring.h> -#include <stddef.h> -#include <stdint.h> -#include <stdlib.h> -#include <string.h> -#include <sys/cdefs.h> +#include "aio.h" // for AIO_ALLDONE, AIO_CANCELED, aio_cancel +#include "linux/io_uring.h" // for io_uring_sqe, IORING_ENTER_GETEVENTS + +#include <__aio.h> // for __aio_lookup, __aio_remove, AIO_REQUEST_... +#include <errno.h> // for EINVAL, errno +#include <io_uring.h> // for __io_uring, io_uring, io_uring_sq, IO_UR... +#include <stddef.h> // for NULL +#include <stdint.h> // for uint64_t +#include <stdlib.h> // for free +#include <string.h> // for memset +#include <sys/cdefs.h> // for __unused int aio_cancel(int __unused fildes, struct aiocb *aiocbp) { diff --git a/lib/libc/aio/aio_error.c b/lib/libc/aio/aio_error.c index 27c7f134..9f7d05ca 100644 --- a/lib/libc/aio/aio_error.c +++ b/lib/libc/aio/aio_error.c @@ -1,6 +1,8 @@ -#include <__aio.h> -#include <errno.h> -#include <stddef.h> +#include "aio.h" // for aio_error, aiocb (ptr only) + +#include <__aio.h> // for aio_request, __aio_lookup, AIO_REQUEST_STATUS_PE... +#include <errno.h> // for EINVAL, errno, EINPROGRESS +#include <stddef.h> // for NULL int aio_error(const struct aiocb *aiocbp) { diff --git a/lib/libc/aio/aio_fsync.c b/lib/libc/aio/aio_fsync.c index 00d56b42..2b06ba8f 100644 --- a/lib/libc/aio/aio_fsync.c +++ b/lib/libc/aio/aio_fsync.c @@ -1,8 +1,10 @@ -#include <__aio.h> -#include <aio.h> -#include <errno.h> -#include <fcntl.h> -#include <io_uring.h> +#include "linux/io_uring.h" // for io_uring_op, IORING_FSYNC_DATASYNC +#include "stddef.h" // for NULL + +#include <__aio.h> // for __aio_lookup, __aio_request +#include <aio.h> // for aio_fsync +#include <errno.h> // for EINVAL, errno +#include <fcntl.h> // for O_DSYNC int aio_fsync(int op, struct aiocb *aiocbp) { diff --git a/lib/libc/aio/aio_read.c b/lib/libc/aio/aio_read.c index 286b2d02..150f8b0e 100644 --- a/lib/libc/aio/aio_read.c +++ b/lib/libc/aio/aio_read.c @@ -1,7 +1,9 @@ -#include <__aio.h> -#include <aio.h> -#include <io_uring.h> -#include <stdlib.h> +#include "linux/io_uring.h" // for io_uring_op +#include "stddef.h" // for NULL + +#include <__aio.h> // for __aio_request, aio_request +#include <aio.h> // for aio_read +#include <stdlib.h> // for malloc int aio_read(struct aiocb *aiocbp) { diff --git a/lib/libc/aio/aio_return.c b/lib/libc/aio/aio_return.c index 45b0d795..a19d355a 100644 --- a/lib/libc/aio/aio_return.c +++ b/lib/libc/aio/aio_return.c @@ -1,7 +1,9 @@ -#include <__aio.h> -#include <errno.h> -#include <stddef.h> -#include <stdlib.h> +#include "aio.h" // for ssize_t, aio_return, aiocb (ptr only) + +#include <__aio.h> // for __aio_remove, aio_request, AIO_REQUEST_STATUS_PE... +#include <errno.h> // for EINVAL, errno +#include <stddef.h> // for NULL +#include <stdlib.h> // for free ssize_t aio_return(struct aiocb *aiocbp) { diff --git a/lib/libc/aio/aio_suspend.c b/lib/libc/aio/aio_suspend.c index 939b9d6b..89afe9fd 100644 --- a/lib/libc/aio/aio_suspend.c +++ b/lib/libc/aio/aio_suspend.c @@ -1,14 +1,16 @@ -#include <__aio.h> -#include <aio.h> -#include <errno.h> -#include <io_uring.h> -#include <poll.h> -#include <stdint.h> +#include "linux/io_uring.h" // for IORING_ENTER_GETEVENTS +#include "stddef.h" // for NULL + +#include <__aio.h> // for __aio_lookup, __aio_poll, AIO_REQUEST_ST... +#include <aio.h> // for timespec, aio_suspend +#include <errno.h> // for errno, EAGAIN, EINVAL +#include <io_uring.h> // for __io_uring, io_uring, io_uring_enter +#include <poll.h> // for pollfd, poll, POLLIN +#include <stdint.h> // for uint64_t #include <time.h> -#include <unistd.h> +#include <unistd.h> // for read -int aio_suspend(const struct aiocb *const list[], int nent, - const struct timespec *timeout) +int aio_suspend(const struct aiocb *const list[], int nent, const struct timespec *timeout) { struct pollfd pfd; struct aio_request *req; @@ -32,8 +34,7 @@ int aio_suspend(const struct aiocb *const list[], int nent, pfd.events = POLLIN; if (timeout) { - timeout_ms = timeout->tv_sec * 1000 + - timeout->tv_nsec / 1000000; + timeout_ms = timeout->tv_sec * 1000 + timeout->tv_nsec / 1000000; } else { timeout_ms = -1; } @@ -51,7 +52,6 @@ int aio_suspend(const struct aiocb *const list[], int nent, uint64_t val; read(__io_uring.eventfd, &val, sizeof(val)); - io_uring_enter(__io_uring.fd, 0, 0, IORING_ENTER_GETEVENTS, - NULL, 0); + io_uring_enter(__io_uring.fd, 0, 0, IORING_ENTER_GETEVENTS, NULL, 0); } } diff --git a/lib/libc/aio/aio_write.c b/lib/libc/aio/aio_write.c index 4254fdcd..9315296e 100644 --- a/lib/libc/aio/aio_write.c +++ b/lib/libc/aio/aio_write.c @@ -1,7 +1,9 @@ -#include <__aio.h> -#include <aio.h> -#include <io_uring.h> -#include <stdlib.h> +#include "linux/io_uring.h" // for io_uring_op +#include "stddef.h" // for NULL + +#include <__aio.h> // for __aio_request, aio_request +#include <aio.h> // for aio_write +#include <stdlib.h> // for malloc int aio_write(struct aiocb *aiocbp) { diff --git a/lib/libc/aio/lio_listio.c b/lib/libc/aio/lio_listio.c index 0a345c16..3011268e 100644 --- a/lib/libc/aio/lio_listio.c +++ b/lib/libc/aio/lio_listio.c @@ -1,15 +1,14 @@ -#include <__aio.h> -#include <aio.h> -#include <errno.h> -#include <stddef.h> -#include <stdlib.h> -#include <string.h> -#include <sys/eventfd.h> -#include <unistd.h> -#include <stdint.h> +#include <__aio.h> // for lio_group, __aio_lookup, aio_request +#include <aio.h> // for LIO_NOWAIT, aio_read, aio_write, LIO_NOP +#include <errno.h> // for errno, EINVAL, EIO +#include <stddef.h> // for NULL +#include <stdint.h> // for uint64_t +#include <stdlib.h> // for malloc +#include <string.h> // for memset +#include <sys/eventfd.h> // for eventfd, EFD_CLOEXEC +#include <unistd.h> // for read -int lio_listio(int mode, struct aiocb *restrict const list[restrict], int nent, - struct sigevent *restrict sig) +int lio_listio(int mode, struct aiocb *restrict const list[restrict], int nent, struct sigevent *restrict sig) { struct lio_group *grp = NULL; |
