When we started working on this project, our only known solution that was able to satisfy our requisites was the Linux User File System [Mal] . LUFS is a hybrid user space file system framework supporting an indefinite number of file systems transparently for any application. It consists of a kernel module and an user space daemon. Basically it delegates most of the VFS calls to a specialized daemon which handles them. Communication between the kernel module and the daemon is done through Unix domain sockets. This makes LUFS best suited for networked file systems, where socket communication overhead is small compared to the speed penalty due to the network itself.
sshfs and ftpfs are, in my opinion, the most representative examples of LUFS based file systems. They provide access to remote FTP and SSH services, as well as the files reside in the local machine. Any user in a system running the LUFS kernel module, can mount those remote file systems with simple commands like
~he will find the remote files and gets transparent access to them.