fopen()
を使用してファイルを開き、受け取ったファイル ポインタから、 を使用してファイル記述子をフェッチすると仮定しましょうfileno()
。read()
次に、このファイルから 4 バイトから 10 キロバイトのサイズの比較的小さなチャンクのランダムな s をたくさん (>10^8)実行します。
read()
ファイルerrno
システムが
ext3
NFS
OCFS2
2 と 3 の組み合わせ (
OCFS2
経由NFS
)
?
私の測定値は、1.(ファイルが設定されていない場合、O_NONBLOCK
設定できる場合ext3
)に対しては可能ではないという結論を出しましたが、他の3つ(2.、3.、4.)については不明です.
O_NONBLOCK
(ところで:いずれにせよ、デフォルトに設定されていないと仮定できますか?)
この疑問が生じたのは、ケース 4 で設定read()
せずにリクエストした場合よりも少ないバイト数を返す sを観察したためです。errno
テストによってこれをドリルダウンする問題は、そのような動作が 1/1000000000 のケースで発生することです...-これはまだあまりにも頻繁です:-}
更新: 平均ファイル サイズは、数 TByte から約 1 GB です。