git: d97e44784bb5 - main - aio_*(2): mention ENOSYS under ERRORS
Date: Wed, 26 Mar 2025 04:50:46 UTC
The branch main has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=d97e44784bb5a510b7af7593c86cfbcff73855c4
commit d97e44784bb5a510b7af7593c86cfbcff73855c4
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2025-03-25 21:57:52 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2025-03-26 04:49:33 +0000
aio_*(2): mention ENOSYS under ERRORS
ENOSYS can occur if aio(4) is not loaded in the kernel. Document this
behavior so consumers on FreeBSD can better understand that this is a
possible scenario.
Clean up the manpages slightly while here:
- Sort `ERRORS` by errno(3).
- Use `.Fx` instead of `FreeBSD`.
MFC after: 2 weeks
Reviewed by: ziaee
PR: 190942
Differential Revision: https://reviews.freebsd.org/D49502
---
lib/libsys/aio_cancel.2 | 7 +++++++
lib/libsys/aio_error.2 | 7 +++++++
lib/libsys/aio_fsync.2 | 7 +++++++
lib/libsys/aio_mlock.2 | 7 +++++++
lib/libsys/aio_read.2 | 11 ++++++++++-
lib/libsys/aio_return.2 | 7 +++++++
lib/libsys/aio_suspend.2 | 7 +++++++
lib/libsys/aio_waitcomplete.2 | 11 +++++++++--
lib/libsys/aio_write.2 | 11 ++++++++++-
9 files changed, 71 insertions(+), 4 deletions(-)
diff --git a/lib/libsys/aio_cancel.2 b/lib/libsys/aio_cancel.2
index 42d074054716..928a8b325e5f 100644
--- a/lib/libsys/aio_cancel.2
+++ b/lib/libsys/aio_cancel.2
@@ -80,6 +80,13 @@ The
.Fa fildes
argument
is an invalid file descriptor.
+.It Bq Er ENOSYS
+The
+.Fn aio_cancel
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Sh SEE ALSO
.Xr aio_error 2 ,
diff --git a/lib/libsys/aio_error.2 b/lib/libsys/aio_error.2
index 69eb7cd90ee2..2579d2f33052 100644
--- a/lib/libsys/aio_error.2
+++ b/lib/libsys/aio_error.2
@@ -72,6 +72,13 @@ The
.Fa iocb
argument
does not reference an outstanding asynchronous I/O request.
+.It Bq Er ENOSYS
+The
+.Fn aio_error
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Sh SEE ALSO
.Xr aio_cancel 2 ,
diff --git a/lib/libsys/aio_fsync.2 b/lib/libsys/aio_fsync.2
index 46fc5d95bcfd..0b863773eaf2 100644
--- a/lib/libsys/aio_fsync.2
+++ b/lib/libsys/aio_fsync.2
@@ -136,6 +136,13 @@ argument
is not a valid descriptor.
.It Bq Er EINVAL
This implementation does not support synchronized I/O for this file.
+.It Bq Er ENOSYS
+The
+.Fn aio_fsync
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Pp
If the request is successfully enqueued, but subsequently cancelled
diff --git a/lib/libsys/aio_mlock.2 b/lib/libsys/aio_mlock.2
index 02d54304c631..f89ad10936aa 100644
--- a/lib/libsys/aio_mlock.2
+++ b/lib/libsys/aio_mlock.2
@@ -98,6 +98,13 @@ The request was not queued because of system resource limitations.
The asynchronous notification method in
.Fa iocb->aio_sigevent.sigev_notify
is invalid or not supported.
+.It Bq Er ENOSYS
+The
+.Fn aio_mlock
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Pp
If the request is successfully enqueued, but subsequently cancelled
diff --git a/lib/libsys/aio_read.2 b/lib/libsys/aio_read.2
index 3a9601754c06..811d0b234168 100644
--- a/lib/libsys/aio_read.2
+++ b/lib/libsys/aio_read.2
@@ -173,6 +173,13 @@ points outside the process's allocated address space.
The asynchronous notification method in
.Fa iocb->aio_sigevent.sigev_notify
is invalid or not supported.
+.It Bq Er ENOSYS
+The
+.Fn aio_read
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.It Bq Er EOPNOTSUPP
Asynchronous read operations on the file descriptor
.Fa iocb->aio_fildes
@@ -263,7 +270,9 @@ The
.Fn aio_read2
and
.Fn aio_readv
-system calls are FreeBSD extensions,
+system calls are
+.Fx
+extensions,
and should not be used in portable code.
.Sh HISTORY
The
diff --git a/lib/libsys/aio_return.2 b/lib/libsys/aio_return.2
index 499b85ef20d8..49e1abf201ec 100644
--- a/lib/libsys/aio_return.2
+++ b/lib/libsys/aio_return.2
@@ -79,6 +79,13 @@ The I/O operation was submitted with
and the value of the
.Fa aio_lio_opcode
is invalid.
+.It Bq Er ENOSYS
+The
+.Fn aio_return
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Sh SEE ALSO
.Xr aio_cancel 2 ,
diff --git a/lib/libsys/aio_suspend.2 b/lib/libsys/aio_suspend.2
index c46b0292c34e..ebc3c15d059f 100644
--- a/lib/libsys/aio_suspend.2
+++ b/lib/libsys/aio_suspend.2
@@ -89,6 +89,13 @@ contains more asynchronous I/O requests than the
variable, or at least one of the requests is not valid.
.It Bq Er EINTR
the suspend was interrupted by a signal.
+.It Bq Er ENOSYS
+The
+.Fn aio_suspend
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.El
.Sh SEE ALSO
.Xr aio_cancel 2 ,
diff --git a/lib/libsys/aio_waitcomplete.2 b/lib/libsys/aio_waitcomplete.2
index 1f20eca942ab..0a38155d7c75 100644
--- a/lib/libsys/aio_waitcomplete.2
+++ b/lib/libsys/aio_waitcomplete.2
@@ -91,8 +91,6 @@ The
.Fn aio_waitcomplete
system call fails if:
.Bl -tag -width Er
-.It Bq Er EINVAL
-The specified time limit is invalid.
.It Bq Er EAGAIN
The process has not yet called
.Fn aio_read
@@ -101,6 +99,15 @@ or
.It Bq Er EINTR
A signal was delivered before the timeout expired and before any
asynchronous I/O requests completed.
+.It Bq Er EINVAL
+The specified time limit is invalid.
+.It Bq Er ENOSYS
+The
+.Fn aio_waitcomplete
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.It Bq Er EWOULDBLOCK
.It Bq Er EINPROGRESS
The specified time limit expired before any asynchronous I/O requests
diff --git a/lib/libsys/aio_write.2 b/lib/libsys/aio_write.2
index f59406b8ab36..a7108a87e378 100644
--- a/lib/libsys/aio_write.2
+++ b/lib/libsys/aio_write.2
@@ -182,6 +182,13 @@ points outside the process's allocated address space.
The asynchronous notification method in
.Fa iocb->aio_sigevent.sigev_notify
is invalid or not supported.
+.It Bq Er ENOSYS
+The
+.Fn aio_write
+system call is not supported.
+This can occur if
+.Xr aio 4
+support is not present.
.It Bq Er EOPNOTSUPP
Asynchronous write operations on the file descriptor
.Fa iocb->aio_fildes
@@ -265,7 +272,9 @@ The
.Fn aio_write2
and
.Fn aio_writev
-system calls are FreeBSD extensions,
+system calls are
+.Fx
+extensions,
and should not be used in portable code.
.Sh HISTORY
The