Hi Adrian,
That depends. Per default OSXFUSE uses kernel side caching to speed things up. This can cause OSXFUSE to miss external changes. To address this issue mount time option auto_cache had been introduced (back in MacFUSE). When using auto_cache OSXFUSE tries to be smart and purges the kernel side caches when an external change to a file or directory (file size or modification date) is detected during a getattr call.
When you are dealing with external changes and need to make sure that all local changes to a file (though the FUSE volume) get written back instantly you might want to consider using mount-time option noubc, which disables the kernel's "file contents" cache. As a side effect there is no kernel side caching for reads through the FUSE volume as well.
Then there is the vnode name cache. Using the vnode name cache can result in a new file that was created externally not being available (instantly) though the FUSE volume. But this is very implementation specific. The name cache can be disabled by using mount-time option novncache.
To disable all caches use option nolocalcaches. Please note that this should only be a measure of last resort and will have an performance impact.
In case your user space file system daemon is aware of external changes you can call function fuse_purge_np to notify the kernel of those external changes. In this case there should be no need to disable any kernel side cache.
Regards,
Benjamin