All Projects → effuse → profuse

effuse / profuse

Licence: ISC license
An OCaml implementation of the FUSE protocol versions 7.8 and 7.23

Programming Languages

ocaml
1615 projects
Roff
2310 projects
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to profuse

Phoenixfs
🔥 a versioning filesystem inspired by git
Stars: ✭ 191 (+558.62%)
Mutual labels:  fuse
Ninfs
FUSE filesystem Python scripts for Nintendo console files
Stars: ✭ 241 (+731.03%)
Mutual labels:  fuse
cxfuse
Crossmeta FUSE Windows Port
Stars: ✭ 55 (+89.66%)
Mutual labels:  fuse
Gotenksfs
A file system on top of your file system
Stars: ✭ 203 (+600%)
Mutual labels:  fuse
Darling Dmg
FUSE module for .dmg files (containing an HFS+ filesystem)
Stars: ✭ 214 (+637.93%)
Mutual labels:  fuse
fusera
A FUSE interface to the NCBI Sequence Read Archive (SRA)
Stars: ✭ 28 (-3.45%)
Mutual labels:  fuse
Fuse Samples
A collection of smaller examples using the various features of Fuse and FuseJS.
Stars: ✭ 181 (+524.14%)
Mutual labels:  fuse
dedupsqlfs
Deduplicating filesystem via Python3, FUSE and SQLite
Stars: ✭ 24 (-17.24%)
Mutual labels:  fuse
Sparsebundlefs
FUSE filesystem for reading macOS sparse-bundle disk images
Stars: ✭ 238 (+720.69%)
Mutual labels:  fuse
GitFS
A FUSE filesystem that stores data on Git
Stars: ✭ 26 (-10.34%)
Mutual labels:  fuse
Fuse Overlayfs
FUSE implementation for overlayfs
Stars: ✭ 205 (+606.9%)
Mutual labels:  fuse
Tifs
A distributed POSIX filesystem based on TiKV, with partition tolerance and strict consistency.
Stars: ✭ 209 (+620.69%)
Mutual labels:  fuse
elfuse
FUSE filesystems in Emacs Lisp
Stars: ✭ 61 (+110.34%)
Mutual labels:  fuse
Gcsf
a FUSE file system based on Google Drive
Stars: ✭ 2,251 (+7662.07%)
Mutual labels:  fuse
squashmount
Init and management script for mounting rewritable squashfs-compressed data
Stars: ✭ 40 (+37.93%)
Mutual labels:  fuse
Containerfs
a cluster filesystem for containers
Stars: ✭ 264 (+810.34%)
Mutual labels:  fuse
Cgofuse
Cross-platform FUSE library for Go - Works on Windows, macOS, Linux, FreeBSD, NetBSD, OpenBSD
Stars: ✭ 245 (+744.83%)
Mutual labels:  fuse
tgmount
Mount Telegram dialogs and channels as a Virtual File System.
Stars: ✭ 52 (+79.31%)
Mutual labels:  fuse
ipfs-api-mount
Mount IPFS directory as local FS.
Stars: ✭ 16 (-44.83%)
Mutual labels:  fuse
fatx
Original Xbox FATX Filesystem Library, Python bindings, FUSE driver, and GUI explorer
Stars: ✭ 87 (+200%)
Mutual labels:  fuse

profuse

profuse is an OCaml implementation of the FUSE protocol versions 7.8 and 7.23. The 7.8 protocol version is common to UNIX/GNU Linux, FreeBSD, and OS X. Presently, the library only provides the Linux implementation.

Install

You need to add the ocamllabs opam-repository to have all the right dependencies:

opam remote add ocl https://github.com/ocamllabs/opam-repo-dev.git
opam install profuse

Use lofs with docker

Warning: This is very experimental.

First, prepare your local filesystem:

mkdir <mnt-dir>  # for instance ~/fuse-mnt
mkdir <data-dir> # for instance ~/fuse-data

Note: <mnt-dir>/ MUST NOT be a child of <data-dir>/, otherwise bad things will happen. <data-dir>/ will contains files mirrored by <mnt-dir>/, and all reads and writes to the <mnt-dir>/ files will go through the lofs daemon and will be reflected back in <data-dir>/.

To "connect" the two directories using the lofs daemon, run:

cd <data-dir> && ./lofs_main.native <mnt-dir>

You can test the result by opening a new terminal and modifying things in <mnt-dir>: you will see the lofs daemaon spitting out FUSE requests.

We can now start a docker container and mount <mnt-dir> as data volume:

docker run -it -v <mnt-dir>:/home ubuntu bash

If you cd /home into the container, you will see the lofs daemon spitting out FUSE requests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].