\fBssize_t readahead(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, size_t \fP\fIcount\fP\fB);\fP
.fi
.SH 説明
-\fBreadahead\fP() initiates readahead on a file so that subsequent reads from
-that file will be satisfied from the cache, and not block on disk I/O
-(assuming the readahead was initiated early enough and that other activity
-on the system did not in the meantime flush pages from the cache).
+\fBreadahead\fP() はファイルの先読みを行い、そのファイルに対する後の読み込みがキャッシュから行われ、ディスク I/O で停止しないようにする
+(この条件を満たせるのは、先読みは十分早く行われ、システムの他の動作によりその後にキャッシュからページがフラッシュされない場合である)。
\fIfd\fP 引き数は読み込みを行うファイルを識別するファイル・ディスクリプタである。 \fIoffset\fP 引き数はデータの読み込み開始位置を指定し、
\fIcount\fP は読み込むデータのバイト数を指定する。 ディスク I/O はページ単位で実行されるので、 実際には \fIoffset\fP
いくつかの 32 ビットアーキテクチャでは、このシステムコールの呼び出しシグネチャーが違っている。 理由は \fBsyscall\fP(2)
で説明されている。
.SH バグ
-\fBreadahead\fP() attempts to schedule the reads in the background and return
-immediately. However, it may block while it reads the filesystem metadata
-needed to locate the requested blocks. This occurs frequently with ext[234]
-on large files using indirect blocks instead of extents, giving the
-appearance that the call blocks until the requested data has been read.
+\fBreadahead\fP() は読み込みをバックグラウンドで行うようにスケジューリングを行い、すぐに返る。
+しかしながら、要求されたブロックの位置を知るために必要なファイルシステムのメタデータを読み込む間は \fBreadahead\fP() は停止することがある。
+これは ext[234] で大きなファイルをエクステントではなく間接ブロックを使う場合にしばしば発生し、
+要求したデータが読み込まれるまで呼び出しが停止しているように見える。
.SH 関連項目
\fBlseek\fP(2), \fBmadvise\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2), \fBread\fP(2)
.SH この文書について