Subject: PR/24596 CVS commit: src/sys
To: None <yamt@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: YAMAMOTO Takashi <yamt@netbsd.org>
List: netbsd-bugs
Date: 07/17/2005 12:28:01
The following reply was made to PR kern/24596; it has been noted by GNATS.

From: YAMAMOTO Takashi <yamt@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/24596 CVS commit: src/sys
Date: Sun, 17 Jul 2005 12:27:47 +0000 (UTC)

 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.