0

NFS を使用してシステムにマウントされたリモート ディスクがあり、pwrite() API を使用して、マウントされたリモート ディスク上のファイルに書き込もうとしています。

毎回発生するわけではありませんが、I/O の実行中に pwrite() が失敗し、エラー番号が EIO(Input/Output error) に設定される場合があります。

そもそもこのエラーが発生する理由を説明してもらえますか?それを修正する方法はありますか?

ありがとう

4

1 に答える 1

0

ベース ファイルの読み取りと書き込みに関する (悪い) 経験から、失敗した I/O 操作 ( 、 )を再試行するだけでNFS、この問題を回避できる可能性が高いことがわかりました。EIOread()write()

また、指定された量のデータを転送NFSするとは限らないためread()、問題の関数の戻り値で転送されたバイト数を常に確認することをお勧めします。write()

根本的なNFS機能またはドライバーの結果がカーネルによって処理される方法に問題があるため、 /を使用したときに目撃したのと同じ効果を/示すNFSことを強く想定しています。pread()pwrite()read()write()

于 2012-09-07T12:53:04.473 に答える