Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: YAMAMOTO Takashi <yamt@netbsd.org>
List: source-changes
Date: 07/17/2005 12:27:47
Module Name: src
Committed By: yamt
Date: Sun Jul 17 12:27:47 UTC 2005
Modified Files:
src/sys/miscfs/genfs: genfs_node.h genfs_vnops.c
src/sys/uvm: uvm_fault.c uvm_object.h
Log Message:
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
setting "wasclean" false when encountering them.
suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if
we're going to take the vnode off the syncer's queue.
uvm_fault: don't write-map pages unless its vnode is already on
the syncer's queue.
fix PR/24596 (3) but in the different way from the suggested fix.
(to keep our current behaviour, ie. not to require explicit msync.
discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue
by introducing a generation number in genfs_node.
genfs_getpages: increment the generation number.
suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.
To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 src/sys/miscfs/genfs/genfs_node.h
cvs rdiff -r1.100 -r1.101 src/sys/miscfs/genfs/genfs_vnops.c
cvs rdiff -r1.95 -r1.96 src/sys/uvm/uvm_fault.c
cvs rdiff -r1.18 -r1.19 src/sys/uvm/uvm_object.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.