Subject: PR/24596 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:02
The following reply was made to PR kern/24596; it has been noted by GNATS.
From: Jeff Rizzo <riz@netbsd.org>
To: gnats-bugs@netbsd.org
Cc:
Subject: PR/24596 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.