hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
[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: , , ]

Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 35358513
Copyright (c) Hubert Feyrer