Polyvision Fuse Driver

Filesystem in Userspace
Stable release
Repository
Written inC
Operating system
Type
LicenseGPL for kernel part, LGPL for Libfuse, Simplified BSD on FreeBSD, ISC license on OpenBSD
Websitegithub.com/libfuse/libfuse

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a 'bridge' to the actual kernel interfaces.

FUSE is available for Linux, FreeBSD, OpenBSD, NetBSD (as puffs), OpenSolaris, Minix 3, Android and macOS.[2]

AV and Multimedia Related Thread, Polvision whiteboard software in Technical; We have a couple of Polyvision whiteboards that I have very little to do with but I've just tried to.

FUSE is free software originally released under the terms of the GNU General Public License and the GNU Lesser General Public License.

History[edit]

The FUSE system was originally part of AVFS (A Virtual Filesystem), a filesystem implementation heavily influenced by the translator concept of the GNU Hurd.[3]

FUSE was originally released under the terms of the GNU General Public License and the GNU Lesser General Public License, later also reimplemented as part of the FreeBSD base system[4] and released under the terms of Simplified BSD license. An ISC-licensed re-implementation by Sylvestre Gallon was released in March 2013,[5] and incorporated into OpenBSD in June 2013.[6]

FUSE was merged into the mainstream Linux kernel tree in kernel version 2.6.14.[7]

A flow-chart diagram showing how FUSE works: Request from userspace to list files (ls -l /tmp/fuse) gets redirected by the Kernel through VFS to FUSE. FUSE then executes the registered handler program (./hello) and passes it the request (ls -l /tmp/fuse). The handler program returns a response back to FUSE which is then redirected to the userspace program that originally made the request.

Operation and Uses[edit]

To implement a new file system, a handler program linked to the supplied libfuse library needs to be written. The main purpose of this program is to specify how the file system is to respond to read/write/stat requests. The program is also used to mount the new file system. At the time the file system is mounted, the handler is registered with the kernel. If a user now issues read/write/stat requests for this newly mounted file system, the kernel forwards these IO-requests to the handler and then sends the handler's response back to the user.

Unmounting a FUSE-based file system with the fusermount command
Polyvision Fuse Driver

FUSE is particularly useful for writing virtual file systems. Unlike traditional file systems that essentially work with data on mass storage, virtual filesystems don't actually store data themselves. They act as a view or translation of an existing file system or storage device.

In principle, any resource available to a FUSE implementation can be exported as a file system.

Example uses[edit]

  • Borg (backup software): Deduplicating backup program that allows backup archives to be mounted as FUSE filesystems.
  • CloudStore (formerly, Kosmos filesystem): By mounting via FUSE, existing Linux utilities can interact with CloudStore
  • EncFS: Encrypted virtual filesystem
  • ExpanDrive: A commercial filesystem implementing SFTP/FTP/S3/Swift using FUSE
  • GlusterFS: Clustered Distributed Filesystem having ability to scale up to several petabytes.
  • goofys: access Amazon S3/Microsoft Azure storage with an emphasis on performance.
  • GVfs: The virtual filesystem for the GNOME desktop
  • IPFS: A peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files.
  • KBFS: A distributed filesystem with end-to-end encryption and a global namespace based on Keybase.io service that uses FUSE to create cryptographically secure file mounts.
  • Lustre cluster filesystem will use FUSE to allow it to run in userspace, so that a FreeBSD port is possible.[8] However, the ZFS-Linux port of Lustre will be running ZFS's DMU (Data Management Unit) in userspace.[9]
  • Linear Tape File System: Allows files stored on magnetic tape to be accessed in a similar fashion to those on disk or removable flash drives.
  • MinFS: MinFS is a fuse driver for Amazon S3 compatible object storage server. MinFS[10] lets you mount a remote bucket (from a S3 compatible object store), as if it were a local directory
  • MooseFS: An open source distributed fault-tolerant file system available on every OS with FUSE implementation (Linux, FreeBSD, NetBSD, OpenSolaris, OS X), able to store petabytes of data spread over several servers visible as one resource.
  • NTFS-3G and Captive NTFS, allowing access to NTFS filesystems
  • s3fs: mount an S3 bucket as if it were a local file system
  • Sector File System: Sector is a distributed file system designed for large amount of commodity computers. Sector uses FUSE to provide a mountable local file system interface
  • SSHFS: Provides access to a remote filesystem through SSH
  • Transmit: A commercial FTP client that also adds the ability to mount WebDAV, SFTP, FTP and Amazon S3 servers as disks in Finder, via MacFUSE.
  • WebDrive: A commercial filesystem implementing WebDAV, SFTP, FTP, FTPS and Amazon S3
  • WikipediaFS: View and edit Wikipedia articles as if they were real files
  • Wuala: A multi-platform, Java-based fully OS integrated distributed file system. Using FUSE, MacFUSE and Callback File System respectively for file system integration, in addition to a Java-based app accessible from any Java-enabled web browser (service discontinued in 2015).
  • SPFS a file system for Spectrum Protect, designed to mount the backup server filespace anywhere on your server, and use the features included from the backup server ( encryption, de-duplication, compression, filtrering etc). This is a WORM file system

See also[edit]

  • PUFFS, a similar framework with FUSE compatibility
  • Dokan Library FUSE Windows compatibility

References[edit]

  1. ^'Releases - libfuse/libfuse'. Retrieved 30 May 2019 – via GitHub.
  2. ^'Home - FUSE for OS X'.
  3. ^'Some technical advantages of the Hurd'. May 15, 2011. Retrieved March 28, 2016.
  4. ^'WhatsNew/FreeBSD10 - FreeBSD Wiki'.
  5. ^'openbsd dev - tech - Fuse (and sshfs) support for OpenBSD'.
  6. ^''CVS: cvs.openbsd.org: src' - MARC'.
  7. ^'file-systems.fuse.devel - FUSE merged to 2.6.14! - msg#00021 - Recent Discussion OSDir.com'. Archived from the original on 2016-04-20.
  8. ^'Lustre FreeBSD'. Archived from the original on 2008-03-12. Retrieved 2008-03-02.
  9. ^'Architecture ZFS for Lustre'. Sun Microsystems. Retrieved 2008-03-02.
  10. ^'minio/minfs'. GitHub. Retrieved 12 April 2018.

External links[edit]

  • Crossmeta FUSE Port of FUSE to Windows
  • Develop your own filesystem with FUSE by Sumit Singh
  • Documentation/filesystems/fuse.txt documentation in Linux source tree
Driver
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Filesystem_in_Userspace&oldid=917489816'
Active4 months ago

(FUSE). Preferably without admin rights. An example would be sshfs, maybe via MSYS?

phuclv
12.4k7 gold badges51 silver badges107 bronze badges
Tobias KienzlerTobias Kienzler
2,3545 gold badges30 silver badges62 bronze badges

7 Answers

There is a FUSE compatibility layer for the Windows File System Proxy (winfsp).

This project seems to be live (as of 2019) - although it looks to be almost entirely a 1-developer show.

Code is hosted on github under GPLv3 - 'If you find the constraints of the GPLv3 too onerous, a commercial license is also available.'

Someone in my office has got winfsp running, but not using the FUSE compatibility layer.

PeterPeter

As far as I understand, Windows doesn't ship with anything that would let you define your own filesystem without adding some code to the kernel (i.e., a driver). So you would need admin rights.

In 2010 The FUSE FAQ mention a few potential alternatives, but they all looked like vaporware except for Dokan. Dokan has been abandoned but some forks live on: Dokanx, Dokany, and more as well as at least two .NETbindings. Dokany has an SSHFS component.

GillesGilles
55.2k15 gold badges119 silver badges167 bronze badges

While not ideal, a way you could achieve 'FUSE for Windows' could be by running a small Linux installation in a VM, with just FUSE and Samba installed, where Samba then exposes the mounted FUSE folders as shares.

Polyvision Software Download

AllanrboAllanrbo

There is something called Dokan, but it does not work too well; it supports SSHFS.

mbqmbq
6371 gold badge6 silver badges15 bronze badges

Windows doesn't include support for userspace filesystems by default so you would need admin rights to install a Windows equivalent of FUSE like Dokan (such a driver needs to hook into the kernel after all).

JanCJanC

I've seen links to this Windows library Callback File System that seems to be a commercial port of FUSE. I haven't tried it though. And it seems to be $2,500+ for commercial usage.

Matthew LockMatthew Lock
3,8242 gold badges24 silver badges42 bronze badges

When MS introduced GVFS they created a new filter driver that's more or less FUSE-alike

GVFS relies on a new Windows filter driver (the moral equivalent of the FUSE driver in Linux) and we’ve worked with the Windows team to make an early drop of that available so you can try GVFS.

Steelcase Polyvision Driver

See also

phuclv

Polyvision Fuse Driver For Windows 10

phuclv

Polyvision Driver Windows 10

12.4k7 gold badges51 silver badges107 bronze badges

protected by CommunityFeb 26 '15 at 3:57

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged windowsfuse or ask your own question.