FUSE:我需要在create / mkdir中检查文件/目录是否存在?

时间:2013-09-25 17:59:26

标签: filesystems fuse macfuse

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

1 个答案:

答案 0 :(得分:1)

我最好检查文件是否存在导致(a)操作系统行为在将来会发生变化(即你的简化会在以后发挥低调技巧),并且(b)通常有可能在文件外部创建文件您的FS在后端存储上。在后一种情况下,您依赖的是不再有效的状态。