NFS を使用してシステムにマウントされたリモート ディスクがあり、pwrite() API を使用して、マウントされたリモート ディスク上のファイルに書き込もうとしています。
毎回発生するわけではありませんが、I/O の実行中に pwrite() が失敗し、エラー番号が EIO(Input/Output error) に設定される場合があります。
そもそもこのエラーが発生する理由を説明してもらえますか?それを修正する方法はありますか?
ありがとう
ベース ファイルの読み取りと書き込みに関する (悪い) 経験から、失敗した I/O 操作 ( 、 )を再試行するだけでNFS
、この問題を回避できる可能性が高いことがわかりました。EIO
read()
write()
また、指定された量のデータを転送NFS
するとは限らないためread()
、問題の関数の戻り値で転送されたバイト数を常に確認することをお勧めします。write()
根本的なNFS
機能またはドライバーの結果がカーネルによって処理される方法に問題があるため、 /を使用したときに目撃したのと同じ効果を/示すNFS
ことを強く想定しています。pread()
pwrite()
read()
write()