diff options
author | Stefan Metzmacher <metze@samba.org> | 2018-04-20 11:04:20 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2018-04-23 10:30:19 +0200 |
commit | 7ba243f3e72253992e6af3a2cc2bd0562170845f (patch) | |
tree | 7da2d76665b121c1c41902586db23bc012f165d6 /docs-xml/manpages/vfs_aio_pthread.8.xml | |
parent | 74590c6795f8dac5d62d78273730910819395b89 (diff) | |
download | samba-7ba243f3e72253992e6af3a2cc2bd0562170845f.tar.gz |
docs-xml: rewrite the vfs_aio_pthread manpage to reflect the >= 4.0.0 behavior
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'docs-xml/manpages/vfs_aio_pthread.8.xml')
-rw-r--r-- | docs-xml/manpages/vfs_aio_pthread.8.xml | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/docs-xml/manpages/vfs_aio_pthread.8.xml b/docs-xml/manpages/vfs_aio_pthread.8.xml index 69a83468bff..c6f291b980e 100644 --- a/docs-xml/manpages/vfs_aio_pthread.8.xml +++ b/docs-xml/manpages/vfs_aio_pthread.8.xml @@ -13,7 +13,7 @@ <refnamediv> <refname>vfs_aio_pthread</refname> - <refpurpose>implement async I/O in Samba vfs using a pthread pool</refpurpose> + <refpurpose>implement async open in Samba vfs using a pthread pool</refpurpose> </refnamediv> <refsynopsisdiv> @@ -30,40 +30,18 @@ <manvolnum>7</manvolnum></citerefentry> suite.</para> <para>The <command>aio_pthread</command> VFS module enables asynchronous - I/O for Samba on platforms which have the pthreads API 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_pthread module - was written. It uses a pthread pool instead of the - internal Posix AIO interface to allow read and write calls - to be process asynchronously. A pthread pool is created - which expands dynamically by creating new threads as work is - given to it to a maximum of 100 threads per smbd process. - To change this limit see the "aio num threads" parameter - below. New threads are not created if idle threads are - available when a new read or write request is received, - the new work is given to an existing idle thread. Threads - terminate themselves if idle for one second. + opens (for new files) with <smbconfoption name="aio_pthread:aio open">yes</smbconfoption> + on platforms which have the pthreads API available, + support the openat() syscall and support per thread credentials (modern Linux kernels). </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>The module makes use of the global thread pool which uses the + <smbconfoption name="aio max threads"/> option.</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> + the Samba VFS open interface is not thread-safe. This + module makes direct openat() system calls and does + NOT call the Samba VFS open interfaces.</para> </refsect1> @@ -76,9 +54,8 @@ <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_pthread</smbconfoption> + <smbconfoption name="aio_pthread:aio open">yes</smbconfoption> </programlisting> </refsect1> @@ -89,17 +66,17 @@ <variablelist> <varlistentry> - <term>aio_pthread:aio num threads = INTEGER</term> + <term>aio_pthread:aio open = BOOL</term> <listitem> - <para>Limit the maximum number of threads per smbd that - will be created in the thread pool to service IO requests. + <para>Try async opens for creating new files. </para> - <para>By default this is set to 100.</para> + <para>The default is 'no'.</para> </listitem> </varlistentry> </variablelist> </refsect1> + <refsect1> <title>VERSION</title> |