Re: git: d97e44784bb5 - main - aio_*(2): mention ENOSYS under ERRORS
Date: Wed, 26 Mar 2025 15:04:52 UTC
Is this error still possible after f3215338ef82c7798bebca17a7d502cc5ef8bc18 ? How does one unload the module now? On Tue, Mar 25, 2025 at 10:51 PM Enji Cooper <ngie@freebsd.org> wrote: > 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 >