With the growing number of Macs shipping with a 64-bit kernel enabled by default and the confusion regarding support of MacFUSE 64-bit support, we recently looked into alternatives to using MacFUSE for one of our applications. What we came up with was a solution that allows you to implement userspace filesystems using technology already in the kernel — NFS. This allows for a library that can easily be distributed and completely contained within .app bundles and requires no administrative permissions to use. There's also no kext to go with it. There's a bit more information about this below, but if anyone is interested, the code can be found here: https://bitbucket.org/fadingred/kfs
We haven't set up a mailing list for this, but feel free to email me directly if this project is something that you're interested in, and I'll go ahead and set up a list if there's a lot of interest. This is not a drop in replacement for MacFUSE, and there isn't Objective-C support (yet) — just C. MacFUSE will still be preferable for many applications, but this may be a good alternative for others. More information (from the Readme): The Kernelless Filesystem (KFS) is a small library that allows you to create filesystems in user space. KFS differs from libraries that provide similar functionality in that it does not require any kernel extensions to be installed in order to operate. The library runs in userspace and allows applications to create new types of filesystems and mount them directly in userspace. It uses existing functionality that ships with the OS kernel in order to do this. Currently, KFS runs on Mac OS X 10.5+. It is backed by kernel support for NFS. It runs an NFS3 server in order to create filesystems. The KFS library does not create any new processes. It runs entirely within the host process, and creates a new thread in order to handle filesystem requests. It only spawns one thread to handle filesystem requests, so it does not support asynchronous filesystem designs. That is, if you have two read requests they will be queued and the second will not begin until the first completes. KFS uses CoreFoundation lightly, but otherwise could easily be ported to other platforms. Cheers, Whitney Young FadingRed [email protected] www.fadingred.com -- You received this message because you are subscribed to the Google Groups "MacFUSE" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/macfuse?hl=en.
