假设我们使用fopen()和从收到的文件指针打开一个文件,使用fileno(). 然后我们从这个文件中做很多(>10^8)随机read()的相对小的块,大小在 4Bytes 到 10KBytes 之间:
如果read()文件errno系统是
ext3NFSOCFS22 和 3 的组合(
OCFS2通过NFS)
?
我的读数给了我一个结论,它不应该是 1. (如果文件没有O_NONBLOCK设置,如果ext3有可能设置它)但对于其他三个(2., 3., 4.)我不确定.
(顺便说一句:我可以假设O_NONBLOCK在任何情况下都没有设置为默认值吗?)
之所以出现这个问题,是因为我观察到read()s 返回的字节数少于errno案例 4 中未设置的请求。
通过测试深入研究的问题是这种行为发生在 <1/1000000000 的情况下...... - 这仍然太频繁了:-}
更新:平均文件大小在几 TBytes 和大约 1GByte 之间。