'\" t .\" Title: vfs_aio_linux .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 02/21/2015 .\" Manual: System Administration tools .\" Source: Samba 4.0 .\" Language: English .\" .TH "VFS_AIO_LINUX" "8" "02/21/2015" "Samba 4\&.0" "System Administration tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" vfs_aio_linux \- implement async I/O in Samba vfs using Linux kernel aio calls .SH "SYNOPSIS" .HP \w'\ 'u vfs objects = aio_linux .SH "DESCRIPTION" .PP This VFS module is part of the \fBsamba\fR(7) suite\&. .PP 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\&. .PP 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\&. .PP Note that the smb\&.conf parameters aio read size and aio write size must also be set appropriately for this module to be active\&. .PP 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\&. .SH "EXAMPLES" .PP Straight forward use: .sp .if n \{\ .RS 4 .\} .nf \fI[cooldata]\fR \m[blue]\fBpath = /data/ice\fR\m[] \m[blue]\fBaio read size = 1024\fR\m[] \m[blue]\fBaio write size = 1024\fR\m[] \m[blue]\fBvfs objects = aio_linux\fR\m[] .fi .if n \{\ .RE .\} .SH "OPTIONS" .PP aio_linux:aio num events = INTEGER .RS 4 Set the maximum size of the event queue that is used to limit outstanding IO requests\&. .sp By default this is set to 128\&. .RE .SH "VERSION" .PP This man page is correct for version 4\&.0 of the Samba suite\&. .SH "AUTHOR" .PP 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\&.