I've been playing around trying to learn MacFuse using the Objective-c
api. The LoopbackFS filesystem was good for this, except for me it was
still hard to figure out what I needed to implement (when doing my own
read/write file system), since the LoopbackFS delegates so much of
it's behavior the the standard file system.

Because of this I've been trying to create a generic read/write
"InMemory" example. The idea is to create a full read/write filesystem
(like LoopbackFS), but do it all in memory in Objective-c code, so
that its easy to trace and see exactly what needs to be done to create
a generic filesystem that works well through the Finder.

I have a first version of this project up and working here:

http://github.com/jessegrosjean/macfuseinmemory

It seems to work, but I don't really know much about filesystems, so
I'm sure there are issues.

In particular:

- userData is set in readFileAtPath but not in writeFileAtPath even
though openFileAtPath and releaseFileAtPath are implemented. I'm not
sure if this is my bug, a macfuse bug, or just me misunderstanding
what is supposed to happen.
- I'm not sure if I'm mapping the read/write methods into the Items
fileContents (NSMutableData) correctly.
- I'm not dealing with error codes, except for ENOENT.
- I'm not sure if I'm missing any cases in [Item itemByResolvingPath:]
- When a new symbolic link is created I'm not sure if it's supposed to
get any default attributes.
- I'm not sure if setAttributes is supposed to replace all existing
attributes, or only replaced attribtes specified in the newAttributes
dictionary.

Thanks for tips and help. Use the code anyway you want. I think it
woud be cool if someone who knew what they were doing would review
this project, rename/make changes as they wish, and then include it as
an example in the MacFuse package. I know that for me at least this
sort of example would really help.

Thanks,
Jesse
--~--~---------~--~----~------------~-------~--~----~
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