Subject: CVS commit: [netbsd-3] src/sys
To: None <>
From: Jeff Rizzo <>
List: source-changes
Date: 08/24/2005 18:43:38
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

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
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

        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.