Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, February 10, 2021

vfs_aio_linux (8)


vfs_aio_linux - implement async I/O in Samba vfs using Linux kernel aio calls


vfs objects = aio_linux


System Administration tools                                   VFS_AIO_LINUX(8)

       vfs_aio_linux - implement async I/O in Samba vfs using Linux kernel aio

       vfs objects = aio_linux

       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

       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.

       Straight forward use:

                path = /data/ice
                aio read size = 1024
                aio write size = 1024
                vfs objects = aio_linux

       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.

       This man page is correct for version 4.0 of the Samba suite.

       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.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | service/network/samba |
       |Stability      | Volatile              |
       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from

       Further information about this software can be found on the open source
       community website at http://www.samba.org/.

Samba 4.7                         08/10/2018                  VFS_AIO_LINUX(8)