Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 NFS 在我的系统上安装了远程磁盘,我正在尝试使用 pwrite() API 写入已安装的远程磁盘上的文件。
它不会每次都发生,但在某些情况下,执行 I/O pwrite() 失败并将错误号设置为 EIO(输入/输出错误)。
有人可以解释一下为什么首先会出现这个错误,有什么办法可以纠正它吗?
谢谢
从读取和写入NFS基于文件的(糟糕)经验中,我了解到您有一个很好的机会EIO通过简单地重试失败的 I/O 操作 ( read(), write()) 来解决这个问题。
NFS
EIO
read()
write()
也NFS不能假设read()/write()确实传输了指定的数据量,因此最好始终检查相关函数的返回值,了解传输了多少字节。
我在底层NFS功能或NFS内核处理驱动程序结果的方式中看到了问题,因此我强烈假设pread()/显示出与我在使用/pwrite()时看到的相同的效果。read()write()
pread()
pwrite()