Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tniessen/memfs-fuse

Simple fuse demo filesystem
https://github.com/tniessen/memfs-fuse

fuse fuse-filesystem libfuse

Last synced: 5 days ago
JSON representation

Simple fuse demo filesystem

Awesome Lists containing this project

README

        

# memfs-fuse
[![Build Status](https://travis-ci.org/tniessen/memfs-fuse.svg?branch=master)](https://travis-ci.org/tniessen/memfs-fuse)

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

## Building

[libfuse](https://github.com/libfuse/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.