vfs_aio_fork — implement async I/O in Samba vfs
vfs objects = aio_fork
This VFS module is part of the samba(7) suite.
The aio_fork
VFS module enables async
I/O for Samba on platforms where the system level Posix AIO
interface is insufficient. Posix AIO can suffer from severe
limitations. For example, on some Linux versions the
real-time signals that it uses are broken under heavy load.
Other systems only allow AIO when special kernel modules are
loaded or only allow a certain system-wide amount of async
requests being scheduled. Systems based on glibc (most Linux
systems) only allow a single outstanding request per file
descriptor.
To work around all these limitations, the aio_fork module was written. It uses forked helper processes instead of the internal Posix AIO interface to create asynchronousity for read and write calls. It has no parameters, it will create helper processes when async requests come in as needed. Idle helper processes will be removed every 30 seconds.
This module is stackable.