ReFUSE - Linux-compatible filesystem in userspace interface
After Antti Kantee has picked up his previous
userfs: Userspace file system hooks
Summer-of-Code project, it has since been integrated into
NetBSD, together with a small number of example filesystems --
see my previous report on ssshfs.
Now while having a new interface for filesystems in userspace is all
nice and dandy, there's already such a thing which (of course)
differs in details and is not compatible with the puffs interface:
Filesystem in Userspace (FUSE).
Alistair Crooks has sat down and implemented
"refuse", a FUSE-compat library for puffs that allows
using Linux FUSE filesystems with NetBSD's puffs.
After compatibility with Linux on the source level was realized,
FUSE-based filesystems can be ported to NetBSD easily,
and a separate category was created for them in
NetBSD's Packages System:
pkgsrc/filesystems (link will work shortly ;).
Packages that are available right now:
Much of the work on pkgsrc was done by
Juan 'xtraeme' Romero Pardines, who also told me
his (spanish-language) blog.
- fuse: Filesystem in Userspace (compat headers, pkg-config files, etc.), needed for pkgsrc on Linux
- fuse-archivemount: FUSE gateway to libarchive
- fuse-cddfs: FUSE filesystem that uses libparanoia for audio CDs
- fuse-cryptofs: FUSE encrypted filesystem
- fuse-curlftpfs: FUSE filesystem for acessing FTP hosts
- fuse-httpfs: FUSE HTTP filesystem
- fuse-lzofs: Filesystem which allows you to transparently use compressed files
Please note that this is an area where heavy development is still going on,
and that this work is only available on NetBSD-current.
Upcoming work that we can look forward for are
improvements on FUSE compatibility and a port
filesystem, an open source, freely available NTFS driver for Linux with read and write support.
Many more FUSE modules/filesystems
are available, so it can be expected that there's more to come.
[Tags: filesystem, fuse, puffs]