Skip to content

Latest commit

 

History

History
20 lines (11 loc) · 949 Bytes

File metadata and controls

20 lines (11 loc) · 949 Bytes

fuse-symlink

fuse-symlink is a FUSE filesystem that adds symlink support to a directory tree, even if the underlying filesystem does not support symlinks.

Caution

This is an experimental project and should not be used in production. Use at your own risk - it is likely data will be lost.

This can be useful when mounting cloud storage, but you want to use virtual environments (e.g. python venv, npm, etc.) that require symlinks to work properly.

Most syscalls are passed through to the underlying filesystem, except ones which would be affected by the symlinks (e.g. readdir, readlink, stat, etc.). The symlinks are stored in a CSV file, which is created when the filesystem is mounted. The CSV file contains the symlink target and the symlink name.

Usage

uv venv
uv run python fuse_overlay.py /path/to/mountpoint --root /path/to/underlying/fs --metadata /path/to/underlying/fs/symlinks.csv -d -o allow_other