Module Name: src Committed By: pho Date: Thu Nov 17 14:20:26 UTC 2016
Modified Files: src/lib/librefuse: refuse.c Log Message: Change the way how puffs_fuse_node_create() behaves. 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. To generate a diff of this commit: cvs rdiff -u -r1.96 -r1.97 src/lib/librefuse/refuse.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.