Matthew Seaman matthew at
Thu Apr 7 16:57:48 UTC 2016

On 2016/04/07 16:25, Rick Miller wrote:
> Hi all,
> A user has been implementing AIO features in an application.  They assert
> that, despite aio(4) stating that it is enabled either statically (with
> VFS_AIO in the kernel config) or dynamically (kldload), in their
> development environment there was no requirement for either of these
> methods of enabling AIO.  My google-foo is failing me when it comes to
> FreeBSD's AIO.
> This question defies logic, but is it possible that AIO works by default in
> earlier versions of 10.0 and not in more recent version of 10.0 without any
> local system changes?

You asked a pretty similar question last month, where one of the replies
pointed you to this in the UPDATING file:

        The AIO subsystem is now a standard part of the kernel.  The
        VFS_AIO kernel option and aio.ko kernel module have been removed.
        Due to stability concerns, asynchronous I/O requests are only
        permitted on sockets and raw disks by default.  To enable
        asynchronous I/O requests on all file types, set the
        vfs.aio.enable_unsafe sysctl to a non-zero value.

In fact, that change was *after* 10.3 was branched, so 10.3-RELEASE
should behave the same as 10.2 and earlier as far as AIO is concerned.

As far as I can tell from the manual, calls to aio_read(2) and similar
functions should generate an ENOSYS error code, unless your system
kernel has the aio module ceither compiled in or loaded.  Which runs
counter to your user's experience.

I suggest asking on freebsd-hackers at ... as you're more likely to come to
the attention of the responsible developers there.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 972 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the freebsd-questions mailing list