vfs_aio_fork — 非同期 I/O を実装する
vfs objects = aio_fork
この VFS モジュールは samba(7)システムの一部である。
aio_fork
VFS モジュールは、 システムの POSIX AIO
インターフェイスに問題があるプラットフォームで Samba の非同期 I/O を
有効にするためのものである。
POSIX AIO は、致命的な制約に悩まされることが多い。たとえば、ある
バージョンの Linux では、高負荷な環境でリアルタイムのシグナルを
使用すると、問題が発生する。別のシステムでは、 AIO の使用に際して
特殊なカーネルモジュールのロードが必要であったり、システム全体で
スケジュールされている非同期リクエスト数に制約があったりする。
glibc ベースのシステム (大半の Linux システム) では、ファイル記述子
あたり、 1 つの処理待ちリクエストしか許可されない。
こうした制約を回避するために、 aio_folk モジュールが作られた。 このモジュールは、読み取りと書き込みの呼び出しを非同期に生成するため、 内蔵の POSIX AIO インターフェイスに代わって、フォークされたヘルパー プロセスを使用する。 このモジュールにパラメーターはなく、非同期リクエストが行われた際に、 必要に応じてヘルパープロセスを生成する。 アイドル状態のヘルパープロセスは 30 秒で消滅する。
このモジュールはスタック可能である。