-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Jessica Winssinger edited this page Mar 26, 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)
- 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)
- 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)