http://code.google.com/p/python-llfuse/
This seems to be a better fuse binding which actually supports proper release calls.
There is a ubuntu .deb at:
http://ppa.launchpad.net/nikratio/s3ql/ubuntu/pool/main/p/python-llfuse/
The idea would be to create a virtual filesystem which actually stores file in the normal filesystem, but adds some extra functionality:
- Add uids as xattrs to files/dirs (entries)
- have a virtual /uids dir to resolve uids - the entries are symlink to the current entries position
- trigger some form of indexing upon write/move
- maybe have a virtual /search directory for dynamic searches
- have symlinks within the filesystem point to the uid, so that moving the target doesn't invalidate the symlink (e.g. /foo/bar -> /uids/abc123 -> /foo1/bar1 -> /uids/def456 -> /foo2/bar2)
- store tags and additional references between entries either as xattr or in a seperate database
Actually, if there would be the database anyhow, why use xattr at all? Couldn't the database contain the uids as well, updated upon write/move/cp? Then we don't have to worry about non xattr-capable filehandlers. The xattrs could still be read using the virtual vs