Filesystem in Userspace
From Wikipedia, the free encyclopedia
Filesystem in Userspace (FUSE) is a free Unix kernel module, released under the GPL and the LGPL, that allows non-privileged users to create their own file systems without the need to write any kernel code. This is achieved by running the file system code in user space, while the FUSE module only provides a "bridge" to the actual kernel interfaces. FUSE was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14.
FUSE is particularly useful for writing virtual file systems. Unlike traditional filesystems which essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing filesystem or storage device. In principle, any resource available to FUSE implementation can be exported as a file system. See Examples for some of the possible applications.
The FUSE system was originally part of A Virtual Filesystem (AVFS), but has since split off into its own project on SourceForge.
FUSE is also available on FreeBSD, OpenSolaris, and Mac OS X. NetBSD has its own user space file system framework, PUFFS (Pass-to-Userspace Framework File System) with FUSE compatibility layer called refuse.
[edit] Examples
- SSHFS: Provides access to a remote filesystem through SSH
- GmailFS: Filesystem which stores data as mail in Gmail
- EncFS: Encrypted virtual filesystem
- Captive NTFS, ntfsmount, and NTFS-3G, allowing access to NTFS filesystems
- CurlFtpFS: Provides access to a remote filesystem through libcurl
- LoggedFS: Log operations that happen in the backend filesystem
- GlusterFS: High performance clustered filesystem
- SMB for Fuse: browse your network neighbourhood as were it on your own filesystem.
[edit] See also
- v9fs also allows implementing user space file systems using the 9P protocol.
- Davfs2 WebDAV filesystem Linux kernel module
- Plan 9 from Bell Labs