我正在使用Linux(内核2.6.32上的Debian Squeeze)机器的networking,使用NFS(v3)共享文件。 客户端A上运行的进程会在文件服务器Z上通过NFS创build一个文件,然后在A完成运行(刷新输出并closures文件)后,客户端B将尝试访问该文件。 99.9%的时间没有这个方法的问题。
问题是客户端B很less尝试读取时会抛出错误,指出文件不存在。 起皱的是,当在包含目录上做“ls”或readdir时,B总是显示文件。 但是,当试图打开,甚至调用文件的“统计”不存在的错误被抛出。
还有一些要点:
我强烈怀疑这是某种types的NFScaching一致性问题。 但我无法弄清楚究竟是什么原因或可能的解决办法。 除非我误解了NFS手册,否则这种types的行为应该通过接近开放的caching一致性来排除。 有没有其他人有经验,这个问题的NFS文件存在的“readdir”系统调用,但不存在“统计”系统调用? 任何有识之士将不胜感激。 谢谢。