Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Bill Sommerfeld <sommerfeld@netbsd.org>
List: source-changes
Date: 06/12/2000 07:33:07
Module Name:	syssrc
Committed By:	sommerfeld
Date:		Mon Jun 12 14:33:07 UTC 2000

Modified Files:
	syssrc/sys/kern: vfs_lockf.c
	syssrc/sys/sys: lockf.h

Log Message:
Fix several problems with lockf/fcntl byte range locks:
 - document a data structure invariant in lockf.h
 - add KASSERT() to check the invariant.
 - be more consistent about dequeuing ourselves from the blocked list
after a tsleep().
 - Fix two places where the invariant is violated.
 - correct a few comments here and there
 - If we're still following a lock dependancy chain after maxlockdepth
processes and haven't gotten back to the start, assume that we're in a
cycle anyway and return EDEADLK.

Fix is a superset of an existing fix in FreeBSD, but independantly
derived.

Fixes kern/3860.


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 syssrc/sys/kern/vfs_lockf.c
cvs rdiff -r1.7 -r1.8 syssrc/sys/sys/lockf.h

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