[20070221]
|
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:
Linux'
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:
- 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
Much of the work on pkgsrc was done by
Juan 'xtraeme' Romero Pardines, who also told me
about
his (spanish-language) blog.
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
of the
ntfs-3g
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]
|