mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
Add docs for aio_linux vfs module.
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Apr 18 07:20:19 CEST 2012 on sn-devel-104
This commit is contained in:
parent
538893d183
commit
010f2b89e2
115
docs-xml/manpages-3/vfs_aio_linux.8.xml
Normal file
115
docs-xml/manpages-3/vfs_aio_linux.8.xml
Normal file
@ -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>
|
Loading…
x
Reference in New Issue
Block a user