我不知道我是否在问这个问题,这是问题的一部分。我们在我们的 linux 机器上使用 NFS。我们已经挂载到文件服务器上的目录。我们使用 1 小时属性超时和 1 小时数据超时。我们必须要编写文件的模型。1)我们添加到文件的末尾。添加到文件末尾时,我们保持相同的文件名。2) 更改先前写入的数据。更改文件时,我们更改其文件名。这个想法是,这将与缓存一起工作,因为写入文件的数据永远不会改变。我还需要一件事来完成这项工作。使用当前设置,当我使用 mmap 访问文件的新添加部分时,当文件的该部分在属性被缓存时不存在时,我会收到“总线错误”。这一切都是有道理的,也是意料之中的。我想做的是强制 NFS 刷新文件属性,这样它就知道文件现在更大了。在一个完美的世界里,只有当我遇到总线错误时我才会这样做。那么......有没有我可以从c或shell执行的命令可以做到这一点?
编辑 我被否决了,所以我想我的问题很愚蠢。也许更多信息会有所帮助。当我使用具有长属性和数据刷新的挂载时,我获得了所需的微秒级性能。当我使用具有短属性刷新的坐骑时,它会慢 1000 倍。只有当我得到总线错误时,我才需要刷新属性。这是 linux,因此很有可能存在一种强制刷新的方法。我们的数据每 20 分钟仅更改一次,因此我想探索按需刷新场景。