2013-09-25 5 views
1

Я реализую файловую систему на основе FUSE (osxfuse, на самом деле, так как она находится на Mac), и я заметил, что перед вызовом create или mkdir всегда вызывается getattr, а если узел уже существует, create/mkdir не вызывается , Вопрос в том, могу ли я полагаться на это поведение и не проверять существование в create/mkdir?FUSE: мне нужно проверить наличие файла/dir в create/mkdir?

ответ

1

Я бы лучше проверить существование файла в любом случае (а) поведение ОС может измениться в будущем (т. Е. Ваше упрощение будет играть снизу вниз трюк позже), и (б) часто возникает вероятность того, что файл создается за пределами ваших FS на вашем backend-хранилище. В последнем случае вы полагаетесь на состояние, которое не является более достоверным.