12a2d5638d
In puffs "create" and "open" are two separate operations with atomicity achieved by locking the parent vnode. In fuse, on the other hand, "create" is actually a create-and-open-atomically and the open flags (O_RDWR, O_APPEND, ...) are passed via fi.flags. So the only way to emulate the fuse semantics is to open the file with dummy flags and then immediately close it. You might think that we could simply use fuse->op.mknod all the time but no, that's not possible because most file systems nowadays expect op.mknod to be called only for non-regular files and many don't even support it. |
||
---|---|---|
.. | ||
fuse_opt.h | ||
fuse.h | ||
Makefile | ||
refuse_opt.c | ||
refuse.3 | ||
refuse.c | ||
shlib_version | ||
TODO |