Simple fuse demo filesystem
C Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
.editorconfig Initial commit Oct 1, 2016
.gitignore Initial commit Oct 1, 2016
.travis.yml Try to fix travis Oct 1, 2016
LICENSE Add README.md and LICENSE Oct 1, 2016
Makefile Try to fix travis Oct 1, 2016
README.md Update README Oct 1, 2016
debug.sh Improve debugging script Oct 1, 2016
dir.c Initial commit Oct 1, 2016
dir.h Initial commit Oct 1, 2016
memfs.c Initial commit Oct 1, 2016
node.c Initial commit Oct 1, 2016
node.h Initial commit Oct 1, 2016
test.sh Initial commit Oct 1, 2016

README.md

memfs-fuse

Build Status

This repository serves as a very simple example of a fuse filesystem.

Building

libfuse is required to build this project. You can either build libfuse from source or download it using package managers (apt-get install fuse libfuse-dev for APT).

Executing make will produce the binary memfs.

Usage

At the moment, memfs comes with some limitations. Therefore, it is recommended to supply certain options to fuse:

memfs -s -o default_permissions -o auto_unmount $mountpoint

Basically, this enables permission checking in the kernel, ensures clean unmounting and disables multithreading as memfs is not entirely thread-safe right now.

To unmount the filesystem, use

fusermount -u $mountpoint

Debugging

You can use the script debug.sh to execute the filesystem in the GNU debugger while printing log messages generated by libfuse.