Get rid of unnecessary barrier. Improve comment.
[pintos-anon] / grading / filesys / review.txt
1 TESTCASES [[/10]]
2 -----------------
3   -3 Didn't test/explain large files
4   -3 Didn't test/explain file growth
5   -2 Didn't test/explain directories
6   -2 Didn't test/explain cache performance
7   +1...+3 Bonus for demonstrating VM running on file system
8
9
10 DESIGN [[/40]]
11 --------------
12
13 DESIGNDOC
14   -5 Doesn't explain synchronization
15   -5 Doesn't explain inode design (e.g. direct, indirect, etc. structure)
16   -5 Doesn't explain block cache structure
17   -5 Doesn't explain read-ahead/write-behind design
18
19 Overall:
20   -1 Gratuitous use of malloc() (e.g. for allocating a list or a lock)
21   -1 Inappropriate use of ASSERT (e.g. to verify that malloc() succeeded)
22
23 Synchronization and consistency
24   -5 One big lock for entire file system
25   -3 Doesn't mark inode deleted in bitmap when file removed and closed
26   -2 Doesn't mark indirect blocks deleted in bitmap when file removed, closed
27   -5 Keeps copy of inode_disk in inode but doesn't account for it in cache
28
29 Large Files
30   -5 No direct blocks
31   -10 No indirect or doubly indirect blocks of any sort
32
33 Subdirectories
34   -2 Directories cannot grow
35   +1 Supports Unix-like . and ..
36   +2 Supports recursive directory removal
37
38 Buffer Cache
39   -3 Uses linear search instead of hash table, etc.
40   -2 Poor cache replacement algorithm (not LRU, etc.)
41   -1 Does not prioritize metadata in cache
42   -2 Locks entire cache during I/O
43
44 Read-Ahead/Write-Behind (max -10)
45   -7 No read-ahead
46   -7 No write-behind
47   -5 Busy-waiting in write-behind thread
48   -2 Spawns a new thread on every block read
49   +2 Prioritizes real reads over read-ahead
50     
51
52 STYLE [[/10]]
53 -------------
54   -5...-10 Fixing code after submission
55   -5 Doesn't compile as submitted
56   +1...+5 Cool test programs etc.
57
58
59 COMMENTS
60 --------
61