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.