0

我使用 NFS 在我的系统上安装了远程磁盘,我正在尝试使用 pwrite() API 写入已安装的远程磁盘上的文件。

它不会每次都发生,但在某些情况下,执行 I/O pwrite() 失败并将错误号设置为 EIO(输入/输出错误)。

有人可以解释一下为什么首先会出现这个错误,有什么办法可以纠正它吗?

谢谢

4

1 回答 1

0

从读取和写入NFS基于文件的(糟糕)经验中,我了解到您有一个很好的机会EIO通过简单地重试失败的 I/O 操作 ( read(), write()) 来解决这个问题。

NFS不能假设read()/write()确实传输了指定的数据量,因此最好始终检查相关函数的返回值,了解传输了多少字节。

我在底层NFS功能或NFS内核处理驱动程序结果的方式中看到了问题,因此我强烈假设pread()/显示出与我在使用/pwrite()时看到的相同的效果。read()write()

于 2012-09-07T12:53:04.473 回答