/
README
22 lines (17 loc) · 920 Bytes
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
To compile this program, you will need the sqlite3 (libsqlite3-dev), FUSE (libfuse-dev), and glib (libglib2.0-dev) development files.
TagFS must be run in single-thread mode, otherwise the behavior is undefined. This can be accomplished with the -s flag. Example: ./tagfs -s TagFS/
Operations implemented:
Delete (Non-Root Location) -> Remove all tags
Delete (Root) - Remove file
Move - Remove all tags and apply tags at new location
Fuse behaviors:
Copy = Open (src) -> Create (dest) -> Read (src) -> Write (dest)
Move = Rename
Copy in = Create (dest) -> Write (dest)
Move in = Create (dest) -> Write (dest)
Copy out = Open (src) -> Read (src)
Move out = Open (src) -> Read (src)
Copy over = Open (src) -> Open (dest) -> Truncate (dest) -> Read (src) -> Write (dest)
Move over = Rename
Copy in over = Open(dest) -> Truncate (dest) -> Write (dest)
Move in over = Create (dest) -> Write (dest)