Add docs for aio_linux vfs module.
authorJeremy Allison <jra@samba.org>
Wed, 18 Apr 2012 03:20:28 +0000 (20:20 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 18 Apr 2012 05:20:19 +0000 (07:20 +0200)
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Apr 18 07:20:19 CEST 2012 on sn-devel-104

docs-xml/manpages-3/vfs_aio_linux.8.xml [new file with mode: 0644]

diff --git a/docs-xml/manpages-3/vfs_aio_linux.8.xml b/docs-xml/manpages-3/vfs_aio_linux.8.xml
new file mode 100644 (file)
index 0000000..dac94a5
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="vfs_aio_linux.8">
+
+<refmeta>
+       <refentrytitle>vfs_aio_linux</refentrytitle>
+       <manvolnum>8</manvolnum>
+       <refmiscinfo class="source">Samba</refmiscinfo>
+       <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+       <refmiscinfo class="version">3.6</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+       <refname>vfs_aio_linux</refname>
+       <refpurpose>implement async I/O in Samba vfs using Linux kernel aio calls</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+       <cmdsynopsis>
+               <command>vfs objects = aio_linux</command>
+       </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+       <title>DESCRIPTION</title>
+
+       <para>This VFS module is part of the
+       <citerefentry><refentrytitle>samba</refentrytitle>
+       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+       <para>The <command>aio_linux</command> 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.</para>
+
+       <para>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.
+       </para>
+
+       <para>
+       Note that the smb.conf parameters <command>aio read size</command>
+       and <command>aio write size</command> must also be set appropriately
+       for this module to be active.
+       </para>
+
+       <para>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.</para>
+
+</refsect1>
+
+
+<refsect1>
+       <title>EXAMPLES</title>
+
+       <para>Straight forward use:</para>
+
+<programlisting>
+        <smbconfsection name="[cooldata]"/>
+       <smbconfoption name="path">/data/ice</smbconfoption>
+       <smbconfoption name="aio read size">1024</smbconfoption>
+       <smbconfoption name="aio write size">1024</smbconfoption>
+       <smbconfoption name="vfs objects">aio_linux</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+       <title>OPTIONS</title>
+
+       <variablelist>
+
+               <varlistentry>
+               <term>aio_linux:aio num events = INTEGER</term>
+               <listitem>
+               <para>Set the maximum size of the event queue
+               that is used to limit outstanding IO requests.
+               </para>
+               <para>By default this is set to 128.</para>
+               </listitem>
+               </varlistentry>
+
+       </variablelist>
+</refsect1>
+<refsect1>
+       <title>VERSION</title>
+
+       <para>This man page is correct for version 3.6.6 of the Samba suite.
+       </para>
+</refsect1>
+
+<refsect1>
+       <title>AUTHOR</title>
+
+       <para>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.</para>
+
+</refsect1>
+
+</refentry>