Before this change the mount and cmount would run Release
synchronously. This would mean that it would wait for files to be
closed (eg uploaded) before returning to the kernel.
However Release is already running asynchronously from userspace so
this commit changes it to do the functionality of Release
asynchronously too.
This should fix libfuse blocking when Release is active and it is
asked to do something else with a file.
Forum: https://forum.rclone.org/t/vfs-cache-mode-writes-upload-expected-behaviour/8014
The purpose of this is to make it easier to maintain and eventually to
allow the rclone backends to be re-used in other projects without
having to use the rclone configuration system.
The new code layout is documented in CONTRIBUTING.