Tag File System
Copyright: never think about that.
Bugfix: When creating new file, '/' will be a tag in file. TagDB.add_file_tags can not deal with [] tags.
Readdir support sub-tags. So that 'ls' can list directories.
Install: This filesystem requires the followings: Python 2.6 FUSE-2 library Python-fuse library Python xattr package if you want to use lstags.py command Better in a Linux box Python version < 2.6 is not supported. Python 3000 is not tested yet. If you insist, try convert the 2.6 code to 3.0.
To Mount:
Firstly some issues:
Tagfs needs a back-store directory to save its meta data and the actual
files. Operations under the mounting point directory are actually
translated into tagfs actions and performed in the files under back-store
directory.
It is better that the back-store directory is empty and if some errors
occur, remove the .tagfs_db.meta file in the back-store.
For most file operations, tagfs just mirror the underlying filesystem
APIs. The chief difference is the path-lookup which is based on tag query
in tagfs. Each directory in a path is considered to be a tag, the order
is irrelevant. So 'utah/picture/by-me/' refers to files with tags: picture,
utah and by-me.
Now the steps:
Download the sources from GoogleCode trunk.
In the up-most dir which contains cmd and tagfs sub-dirs,
run: ./tagfs/TagFS.py -o root=<the back store directory> <mount point>
The tagfs will use <the back store directory> to store the meta data and
files. You can do things within <mount point> to have fun.
If you want to monitor the status, use -d option when running TagFs.py
to enable debug output.
The log is in /tmp/tagfs.log
Command:
cmd/lstags.py:
lstags.py
For convenience, you may want to add the dir containing lstags.py to PATH.
Contact: Weibin Sun wbsun@cs.utah.edu