Add additional disclaimer to "diffstat"s.
[pintos-anon] / doc / filesys.texi
index 32a6e8885d139df9f0457753ce66c7dbf17dce49..e724d96ed7d2223fdfbd8e924bd6d2986e19b7e7 100644 (file)
@@ -11,13 +11,13 @@ You may build project 4 on top of project 2 or project 3.  In either
 case, all of the functionality needed for project 2 must work in your
 filesys submission.  If you build on project 3, then all of the project
 3 functionality must work also, and you will need to edit
-@file{filesys/Make.vars} to enable VM functionality.  A small amount of
-extra credit is available if you do build on project 3.
+@file{filesys/Make.vars} to enable VM functionality.  You can receive up
+to 5% extra credit if you do enable VM.
 
 @menu
 * Project 4 Background::        
 * Project 4 Requirements::      
-* File System FAQ::             
+* Project 4 FAQ::             
 @end menu
 
 @node Project 4 Background
@@ -125,7 +125,7 @@ every time a write is made off the end of the file.  Your file system
 must allow this.
 
 There should be no predetermined limit on the size of a file, except
-that a disk cannot exceed the size of the disk (minus metadata).  This
+that a file cannot exceed the size of the disk (minus metadata).  This
 also applies to the root directory file, which should now be allowed
 to expand beyond its initial limit of 16 files.
 
@@ -261,6 +261,11 @@ return to the process immediately.  The read-ahead request for disk
 block 2 should be handled asynchronously, in the background.
 @end table
 
+@strong{We recommend integrating the cache into your design early.}  In
+the past, many groups have tried to tack the cache onto a design late in
+the design process.  This is very difficult.  These groups have often
+turned in projects that failed most or all of the tests.
+
 @node File System Synchronization
 @subsection Synchronization
 
@@ -297,7 +302,7 @@ if B's data is all nonzero bytes, A is not allowed to see any zeros.
 Operations on different directories should take place concurrently.
 Operations on the same directory may wait for one another.
 
-@node File System FAQ
+@node Project 4 FAQ
 @section FAQ
 
 @table @b
@@ -307,10 +312,16 @@ Here's a summary of our reference solution, produced by the
 @command{diffstat} program.  The final row gives total lines inserted
 and deleted; a changed line counts as both an insertion and a deletion.
 
-This summary is relative to the Pintos base code, but we started from
-the reference solution to project 3.  Thus, the reference solution runs
-with virtual memory enabled.  @xref{Project 3 FAQ}, for the summary
-of project 3.
+This summary is relative to the Pintos base code, but the reference
+solution for project 4 is based on the reference solution to project 3.
+Thus, the reference solution runs with virtual memory enabled.
+@xref{Project 3 FAQ}, for the summary of project 3.
+
+The reference solution represents just one possible solution.  Many
+other solutions are also possible and many of those differ greatly from
+the reference solution.  Some excellent solutions may not modify all the
+files modified by the reference solution, and some may modify files not
+modified by the reference solution.
 
 @verbatim
  Makefile.build       |    5