Name: __________________________

 

CS 1550 – Project 4 Grading

 

General

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

Directories

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

Files

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

Style

Avoids buffer overruns

________ / 3

Frees all heap-allocated memory

________ / 3

Good comments

________ / 3

 

Total: _______ / 100

 

Notes: