vfs_aio_pthread − implement async I/O in Samba vfs using a pthread pool
vfs objects = aio_pthread |
This VFS module is part of the samba(7) suite.
The aio_pthread 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.
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.
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:
[cooldata]
path = /data/ice | |
aio read size = 1024 | |
aio write size = 1024 | |
vfs objects = aio_pthread |
aio_pthread:aio num threads = INTEGER
Limit the maximum number of threads per smbd that will be created in the thread pool to service IO requests.
By default this is set to 100.
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.
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.