Linux读取磁盘caching和NFS

我感兴趣的是读取磁盘caching对通过NFS访问文件的影响。 比方说,我有一个NFS文件。 我从Linux主机“A”访问它(做“猫myfile”)。 如果有足够的RAM,则文件将在磁盘caching中结束。 现在我从主机“B”修改该文件。 主机“A”上的操作系统如何知道它必须使该部分caching无效? 有没有从NFS的callback? 或者磁盘caching过期很快?

Linux NFS FAQ的答案A8有一个解释。

一个总结:由客户端来轮询服务器以请求更改(通过检查文件属性以查看自上次客户端检查以来是否更改过)。 客户通常会定期执行此操作,但每次打开文件时都会这样做。 他们还清理closures任何写道。 这意味着只要确保没有其他客户端打开一个文件,而一个客户端将其打开以便写入,就可以得到您期望的结果。

这种行为通常可以使用挂载选项进行configuration,例如,如果您偏好较高的caching一致性而牺牲性能。 请参阅Linux客户端上的“man nfs”。