Name: __________________________
compiles/runs |
________ / 5 |
getattr |
|
Returns existence or nonexistence correctly |
________ / 4 |
Sets directory or regular file flag correctly |
________ / 2 |
Returns appropriate permissions |
________ / 2 |
Actual file size is reported correctly |
________ / 4 |
|
|
Filesystem survives an unmount (no required data stored only in memory) |
________ / 5 |
mkdir |
|
Can create a directory |
________ / 4 |
Handles invalid directory names via error |
________ / 2 |
Unlimited number of directories |
________ / 2 |
readdir |
|
Returns accurate list of directories in root |
________ / 4 |
Returns accurate list of files in subdirectory |
________ / 4 |
rmddir |
|
Removes an empty directory |
________ / 4 |
mknod |
|
Handles invalid names or attempting to create a file in root |
________ / 4 |
Returns an error on a file already existing |
________ / 2 |
Reports full disk when no free blocks |
________ / 2 |
Reports no space when subdirectory has hit limit for files |
________ / 2 |
Modifies appropriate directory entry and stores back to .directories |
________ / 4 |
unlink |
|
Removes a file |
________ / 4 |
read |
|
Forbids reading from a directory via error |
________ / 2 |
Correctly does reading including files that span multiple disk blocks |
________ / 8 |
Handles EOF (including from invalid offset) |
________ / 4 |
write |
|
Handles invalid offset |
________ / 2 |
Handles disk out of space |
________ / 2 |
Does writes correctly including appending to an existing file |
________ / 8 |
Updates size in directory entry |
________ / 3 |
Updates free block list |
________ / 2 |
Avoids buffer overruns |
________ / 3 |
Frees all heap-allocated memory |
________ / 3 |
Good comments |
________ / 3 |
Total: _______ / 100
Notes: