Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Konrad Schroder <perseant@netbsd.org>
List: source-changes
Date: 01/18/2000 16:03:07
Module Name: syssrc
Committed By: perseant
Date: Wed Jan 19 00:03:06 UTC 2000
Modified Files:
syssrc/sys/ufs/lfs: lfs.h lfs_alloc.c lfs_extern.h lfs_inode.c
lfs_segment.c lfs_subr.c lfs_syscalls.c lfs_vfsops.c
Log Message:
Changes to stabilize LFS. The first two of these should also apply to the
1.4 branch.
* Use a separate per-fs lock, instead of ufs_hashlock, to protect the Inode
free list. This seems to prevent the "lockmgr: %d, not exclusive lock holder
%d, unlocking" message I was mis-attributing last night to an unlocked vnode
being passed to vrele.
* Change calling semantics of lfs_ifind, to give better error reporting:
If fed a struct buf, it can report the block number of the offending inode
block as well as the inode number.
* Back out rev 1.10 of lfs_subr.c, since the replacement code was slightly
uglier while being functionally identical.
* Make lfs_vunref use the same free list convention as vrele/vput, so that
vget does not remove vnodes from a hash list they are not on.
To generate a diff of this commit:
cvs rdiff -r1.19 -r1.20 syssrc/sys/ufs/lfs/lfs.h
cvs rdiff -r1.30 -r1.31 syssrc/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -r1.15 -r1.16 syssrc/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.29 -r1.30 syssrc/sys/ufs/lfs/lfs_inode.c
cvs rdiff -r1.39 -r1.40 syssrc/sys/ufs/lfs/lfs_segment.c \
syssrc/sys/ufs/lfs/lfs_syscalls.c
cvs rdiff -r1.11 -r1.12 syssrc/sys/ufs/lfs/lfs_subr.c
cvs rdiff -r1.45 -r1.46 syssrc/sys/ufs/lfs/lfs_vfsops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.