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.

Reply via email to