1

我正在实现一个基于 FUSE 的文件系统(实际上是 osxfuse,因为它在 Mac 上),我注意到在 create 或 mkdir 调用之前总是调用 getattr,如果节点已经存在,则不会调用 create/mkdir。问题是,我可以依靠这种行为而不检查 create/mkdir 中的存在吗?

4

1 回答 1

1

无论如何,我最好检查文件是否存在,因为(a)操作系统行为将来可能会改变(即您的简化稍后会发挥低调),并且(b)文件通常有可能在您的 FS 之外创建您的后端存储。在后一种情况下,您依赖于无效的状态。

于 2013-09-26T07:34:26.823 回答