-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Jessica Winssinger edited this page Mar 31, 2018
·
3 revisions
- Git, svn: get a general idea of their file sys implementation, though ours won't be nearly as complex (and won't be distributed)
- VMS for versioning.
- metadata and namespace data structure(s)
- "snapshots" and "checkpoints" as a subdirs of root? combine them? checkpoint dirs within snapshot db?
- Set up base Unix file system using FUSE, similar to fusexmp; will serve as foundation to features we build on top.
(Per Prof. Kuenning's suggestion) VMS file system: every file has a version number, delimited using a semicolon. -- i.e. "foo.txt;1", "foo.txt;2"
- Similar to git commit; snapshot version with a short, fixed-sized message.
- Frequency: based on size of the change (i.e. number of characters)
- Per Prof. Kuenning's suggestion: Use diff command to measure size of change between checkpoints.
- Lifetime: age of checkpoint, when file was last modified (TODO: What does this function look like?)
- Maximum: no more than x amount of checkpoints allowed to exist at once (i.e. delete old ones as new ones are made, for sake of space efficiency)