Subject: CVS commit: [netbsd-3] src/sys/ufs/lfs
To: None <source-changes@NetBSD.org>
From: Jeff Rizzo <riz@netbsd.org>
List: source-changes
Date: 05/20/2006 22:43:42
Module Name:	src
Committed By:	riz
Date:		Sat May 20 22:43:42 UTC 2006

Modified Files:
	src/sys/ufs/lfs [netbsd-3]: lfs.h lfs_alloc.c lfs_segment.c
	    lfs_vfsops.c lfs_vnops.c

Log Message:
Pull up following revision(s) (requested by perseant in ticket #1327):
	sys/ufs/lfs/lfs_alloc.c: revision 1.93
	sys/ufs/lfs/lfs.h: revision 1.106
	sys/ufs/lfs/lfs_vfsops.c: revision 1.209
	sys/ufs/lfs/lfs_vnops.c: revision 1.175
	sys/ufs/lfs/lfs_segment.c: revision 1.178
Fixes to address the "vinvalbuf: dirty blocks" panic that can occur when
many inodes are cleaned at once.  Make sure that we write all the pages
on vnodes that are being flushed, even if we don't think there's room;
drain v_numoutput before lfs_vflush() completes.
Also, don't allow a vnode that is in the process of being cleaned to be
chosen by getnewvnode(); this avoids a segment accounting panic in the case
that a large number of inodes are fed to lfs_markv() all at once.


To generate a diff of this commit:
cvs rdiff -r1.77.2.16 -r1.77.2.17 src/sys/ufs/lfs/lfs.h
cvs rdiff -r1.76.2.10 -r1.76.2.11 src/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -r1.158.2.11 -r1.158.2.12 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.167.2.20 -r1.167.2.21 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.137.2.22 -r1.137.2.23 src/sys/ufs/lfs/lfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.