vfs_aio_linux
8
Samba
System Administration tools
4.7
vfs_aio_linux
implement async I/O in Samba vfs using Linux kernel aio calls
vfs objects = aio_linux
DESCRIPTION
This VFS module is part of the
samba
7 suite.
The aio_linux VFS module enables asynchronous
I/O for Samba on Linux kernels that have the kernel AIO calls available
without using the Posix AIO interface. 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 which essentially makes Posix AIO useless on systems
using the glibc implementation.
To work around all these limitations, the aio_linux module
was written. It uses the Linux kernel AIO interface instead of the
internal Posix AIO interface to allow read and write calls
to be processed asynchronously. A queue size of 128 events
is used by default. To change this limit set the "aio num events"
parameter below.
Note that the smb.conf parameters aio read size
and aio write size must also be set appropriately
for this module to be active.
This module MUST be listed last in any module stack as
the Samba VFS pread/pwrite interface is not thread-safe. This
module makes direct pread and pwrite system calls and does
NOT call the Samba VFS pread and pwrite interfaces.
EXAMPLES
Straight forward use:
/data/ice
1024
1024
aio_linux
OPTIONS
aio_linux:aio num events = INTEGER
Set the maximum size of the event queue
that is used to limit outstanding IO requests.
By default this is set to 128.
VERSION
This man page is correct for version 4.0 of the Samba suite.
AUTHOR
The original Samba software and related utilities
were created by Andrew Tridgell. Samba is now developed
by the Samba Team as an Open Source project similar
to the way the Linux kernel is developed.