xref: /dflybsd-src/tools/regression/nfsmmap/README (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino$DragonFly: src/tools/regression/nfsmmap/README,v 1.2 2008/07/09 18:15:10 thomas Exp $
286d7f5d3SJohn Marino
386d7f5d3SJohn MarinoThese tests are intended to make sure that NFS's use of the
486d7f5d3SJohn Marinob_{valid,dirty}{off,end} fields of struct buf is consistent with the
586d7f5d3SJohn MarinoVM system's use of the underlying VM pages.
686d7f5d3SJohn Marino
786d7f5d3SJohn MarinoTest1:
886d7f5d3SJohn Marino	Open the file and write into the file, creating a buf
986d7f5d3SJohn Marino	with a valid range and a dirty range
1086d7f5d3SJohn Marino
1186d7f5d3SJohn Marino	Fsync, flushing the dirty range
1286d7f5d3SJohn Marino
1386d7f5d3SJohn Marino	Mmap and read the whole page.  Since only part of the page is
1486d7f5d3SJohn Marino	valid, the VM system must re-read the invalid parts of the
1586d7f5d3SJohn Marino	page.
1686d7f5d3SJohn Marino
1786d7f5d3SJohn MarinoTest2:
1886d7f5d3SJohn Marino	This is the same as test1 without the fsync.  The VM system
1986d7f5d3SJohn Marino	should first write out the dirty range and then read the rest
2086d7f5d3SJohn Marino	of the page.  This is currently broken since the vnode_pager
2186d7f5d3SJohn Marino	doesn't use the original buf for its i/o and therefore the
2286d7f5d3SJohn Marino	information in b_dirtyoff, b_dirtyend is not available.
23