Subject: CVS commit: src/sys/ufs/lfs
To: None <source-changes@NetBSD.org>
From: Konrad Schroder <perseant@netbsd.org>
List: source-changes
Date: 04/17/2007 01:16:47
Module Name:	src
Committed By:	perseant
Date:		Tue Apr 17 01:16:47 UTC 2007

Modified Files:
	src/sys/ufs/lfs: lfs.h lfs_bio.c lfs_extern.h lfs_segment.c
	    lfs_vfsops.c lfs_vnops.c

Log Message:
Install a new sysctl, vfs.lfs.ignore_lazy_sync, which causes LFS to ignore
the "smooth" syncer, as if vfs.sync.*delay = 0, but only for LFS.  The
default is "on", i.e., ignore lazy sync.

Reduce the amount of polling/busy-waiting done by lfs_putpages().  To
accomplish this, copied genfs_putpages() and modified it to indicate which
page it was that caused it to return with EDEADLK.  fsync()/fdatasync()
should no longer ever fail with EAGAIN, and should not consume huge
quantities of cpu.

Also, try to make dirops less likely to be written as the result of a
VOP_PUTPAGES(), while ensuring that they are written regularly.


To generate a diff of this commit:
cvs rdiff -r1.118 -r1.119 src/sys/ufs/lfs/lfs.h
cvs rdiff -r1.98 -r1.99 src/sys/ufs/lfs/lfs_bio.c
cvs rdiff -r1.88 -r1.89 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.198 -r1.199 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.233 -r1.234 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.202 -r1.203 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.