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.