Subject: PR/25279 CVS commit: [netbsd-3] src/sys
To: None <yamt@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: Jeff Rizzo <riz@netbsd.org>
List: netbsd-bugs
Date: 08/24/2005 18:44:06
The following reply was made to PR kern/25279; it has been noted by GNATS.

From: Jeff Rizzo <riz@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/25279 CVS commit: [netbsd-3] src/sys
Date: Wed, 24 Aug 2005 18:43:38 +0000 (UTC)

 Module Name:	src
 Committed By:	riz
 Date:		Wed Aug 24 18:43:38 UTC 2005
 
 Modified Files:
 	src/sys/fs/adosfs [netbsd-3]: advfsops.c
 	src/sys/fs/cd9660 [netbsd-3]: cd9660_vfsops.c
 	src/sys/fs/filecorefs [netbsd-3]: filecore_vfsops.c
 	src/sys/fs/msdosfs [netbsd-3]: denode.h msdosfs_denode.c
 	src/sys/fs/ntfs [netbsd-3]: ntfs_vfsops.c
 	src/sys/fs/smbfs [netbsd-3]: smbfs_node.c
 	src/sys/kern [netbsd-3]: vfs_subr.c
 	src/sys/miscfs/genfs [netbsd-3]: genfs_node.h genfs_vnops.c
 	src/sys/nfs [netbsd-3]: nfs_node.c
 	src/sys/sys [netbsd-3]: vnode.h
 	src/sys/ufs/ext2fs [netbsd-3]: ext2fs_vfsops.c
 	src/sys/ufs/ffs [netbsd-3]: ffs_vfsops.c ffs_vnops.c
 	src/sys/ufs/lfs [netbsd-3]: lfs_extern.h lfs_vfsops.c
 	src/sys/ufs/ufs [netbsd-3]: ufs_extern.h ufs_inode.c ufs_vnops.c
 	src/sys/uvm [netbsd-3]: uvm_bio.c uvm_fault.c uvm_mmap.c uvm_object.h
 	    uvm_pager.h
 
 Log Message:
 Pull up following revision(s) (requested by yamt in ticket #688):
 	sys/miscfs/genfs/genfs_vnops.c: revision 1.98 via patch
 	sys/ufs/ffs/ffs_vfsops.c: revision 1.165
 	sys/ufs/lfs/lfs_extern.h: revision 1.69
 	sys/fs/filecorefs/filecore_vfsops.c: revision 1.20
 	sys/nfs/nfs_node.c: revision 1.80
 	sys/fs/smbfs/smbfs_node.c: revision 1.24
 	sys/fs/cd9660/cd9660_vfsops.c: revision 1.24
 	sys/fs/msdosfs/msdosfs_denode.c: revision 1.8
 	sys/miscfs/genfs/genfs_node.h: revision 1.6
 	sys/ufs/lfs/lfs_vfsops.c: revision 1.183
 	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.86
 	sys/fs/adosfs/advfsops.c: revision 1.23
 	sys/fs/ntfs/ntfs_vfsops.c: revision 1.31
 - constify genfs_ops.
 - use member designators.
 
         sys/miscfs/genfs/genfs_vnops.c: revision 1.99 via patch
 genfs_getpages: don't forget to put the vnode onto the syncer's work que
 ue
 even in the case of PGO_LOCKED.
 
         sys/uvm/uvm_bio.c: revision 1.40
         sys/uvm/uvm_pager.h: revision 1.29
         sys/miscfs/genfs/genfs_vnops.c: revision 1.100 via patch
         sys/ufs/ufs/ufs_inode.c: revision 1.50
 - introduce PGO_NOBLOCKALLOC and use it for ubc mapping
   to prevent unnecessary block allocations in the case that
   page size > block size.
 - ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
   VM_PROT_READ.
 
         sys/uvm/uvm_fault.c: revision 1.96
         sys/miscfs/genfs/genfs_vnops.c: revision 1.101 via patch
         sys/uvm/uvm_object.h: revision 1.19
         sys/miscfs/genfs/genfs_node.h: revision 1.7
 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.
 
         sys/miscfs/genfs/genfs_vnops.c: revision 1.102 via patch
 genfs_putpages: don't bother to clean the vnode unless VONWORKLST.
 
         sys/ufs/ffs/ffs_vnops.c: revision 1.71
 ffs_full_fsync: because VBLK/VCHR can be mmap'ed,
 do VOP_PUTPAGES for them as well.
 
         sys/uvm/uvm_fault.c: revision 1.97
 uvm_fault: check a correct object in the case of layered filesystems.
 fix PR/30811 from Jukka Salmi.
 
         sys/uvm/uvm_object.h: revision 1.20
         sys/ufs/ffs/ffs_vfsops.c: revision 1.167
         sys/uvm/uvm_bio.c: revision 1.41
         sys/ufs/ufs/ufs_vnops.c: revision 1.129
         sys/uvm/uvm_mmap.c: revision 1.92
         sys/uvm/uvm_fault.c: revision 1.98
         sys/kern/vfs_subr.c: revision 1.252
         sys/fs/msdosfs/denode.h: revision 1.5
         sys/miscfs/genfs/genfs_vnops.c: revision 1.103 via patch
         sys/fs/msdosfs/msdosfs_denode.c: revision 1.9
         sys/sys/vnode.h: revision 1.141
         sys/ufs/ufs/ufs_inode.c: revision 1.51
         sys/ufs/ufs/ufs_extern.h: revision 1.45 via patch
         sys/miscfs/genfs/genfs_node.h: revision 1.8
         sys/ufs/lfs/lfs_vfsops.c: revision 1.184
         sys/uvm/uvm_pager.h: revision 1.30
         sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.87
 update file timestamps for nfsd loaned-read and mmap.
 PR/25279.  discussed on tech-kern@.
 
         sys/miscfs/genfs/genfs_vnops.c: revision 1.104 via patch
 don't write-protect wired pages.  pointed by Chuck Silvers.
 for now, leave a vnode on the syncer's queue, as suggested by him.
 
         sys/ufs/ffs/ffs_vnops.c: revision 1.72
 revert VCHR part of ffs_vnops.c 1.71.
 as VCHR uses the device pager, no point to call VOP_PUTPAGES here.
 pointed by Chuck Silvers.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.21 -r1.21.2.1 src/sys/fs/adosfs/advfsops.c
 cvs rdiff -r1.22 -r1.22.2.1 src/sys/fs/cd9660/cd9660_vfsops.c
 cvs rdiff -r1.18 -r1.18.2.1 src/sys/fs/filecorefs/filecore_vfsops.c
 cvs rdiff -r1.4 -r1.4.14.1 src/sys/fs/msdosfs/denode.h
 cvs rdiff -r1.7 -r1.7.10.1 src/sys/fs/msdosfs/msdosfs_denode.c
 cvs rdiff -r1.29 -r1.29.2.1 src/sys/fs/ntfs/ntfs_vfsops.c
 cvs rdiff -r1.23 -r1.23.2.1 src/sys/fs/smbfs/smbfs_node.c
 cvs rdiff -r1.243.2.3 -r1.243.2.4 src/sys/kern/vfs_subr.c
 cvs rdiff -r1.5 -r1.5.14.1 src/sys/miscfs/genfs/genfs_node.h
 cvs rdiff -r1.96 -r1.96.2.1 src/sys/miscfs/genfs/genfs_vnops.c
 cvs rdiff -r1.79 -r1.79.2.1 src/sys/nfs/nfs_node.c
 cvs rdiff -r1.134.2.4 -r1.134.2.5 src/sys/sys/vnode.h
 cvs rdiff -r1.83 -r1.83.2.1 src/sys/ufs/ext2fs/ext2fs_vfsops.c
 cvs rdiff -r1.162 -r1.162.2.1 src/sys/ufs/ffs/ffs_vfsops.c
 cvs rdiff -r1.69 -r1.69.2.1 src/sys/ufs/ffs/ffs_vnops.c
 cvs rdiff -r1.64.2.1 -r1.64.2.2 src/sys/ufs/lfs/lfs_extern.h
 cvs rdiff -r1.167.2.2 -r1.167.2.3 src/sys/ufs/lfs/lfs_vfsops.c
 cvs rdiff -r1.42 -r1.42.2.1 src/sys/ufs/ufs/ufs_extern.h
 cvs rdiff -r1.47 -r1.47.6.1 src/sys/ufs/ufs/ufs_inode.c
 cvs rdiff -r1.126.2.1 -r1.126.2.2 src/sys/ufs/ufs/ufs_vnops.c
 cvs rdiff -r1.37 -r1.37.2.1 src/sys/uvm/uvm_bio.c
 cvs rdiff -r1.91 -r1.91.2.1 src/sys/uvm/uvm_fault.c
 cvs rdiff -r1.88 -r1.88.4.1 src/sys/uvm/uvm_mmap.c
 cvs rdiff -r1.17 -r1.17.14.1 src/sys/uvm/uvm_object.h
 cvs rdiff -r1.28 -r1.28.14.1 src/sys/uvm/uvm_pager.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.