[1872] in NetBSD-Development

home help back first fref pref prev next nref lref last post

NetBSD-AFS: Deadlock seen on snork diagnosed and fixed.

daemon@ATHENA.MIT.EDU (Bill Sommerfeld)
Mon May 24 19:24:59 1999

To: netbsd-dev@MIT.EDU, netbsd-afs@MIT.EDU
Date: Mon, 24 May 1999 19:23:27 -0400
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>

The failure seen on snorkelwacker was a mutual deadlock triggered by
sys_getcwd() (which does a VOP_LOOKUP with both LOCKPARENT and
ISDOTDOT set..).

In this case, afs_nbsd_lookup should have unlocked the "parent" before
locking the "child", and then relocking the parent.

This is now fixed in the CVS tree and in the i386 bits installed on
snork, and a new package can be found in
/afs/sipb/user/wesommer/netbsd-afs; I'll rebuild other platforms in
the next day or two.

BTW, I also changed the modload invocation in snork's
/etc/athena/rc.afs to use "modload -d".

IMHO, in a 1.4-based release of NetBSD-Athena, it would make more
sense to load the AFS module from /etc/lkm.conf than from a script in
/etc/athena ...

				- Bill


------- Forwarded Message

Date: Mon, 24 May 1999 23:07:34 GMT
From: sommerfeld@orchard.arlington.ma.us (Bill Sommerfeld)
Message-Id: <199905242307.XAA18634@orchard.arlington.ma.us>
To: afs-suckers@dementia.org
Subject: AFS commit: src/afs afs_nbsdops.c
Sender: owner-afs-suckers@dementia.org
Precedence: bulk
Reply-To: afs-suckers@dementia.org

Update of /afs/sipb.mit.edu/project/afs/repository/src/afs
In directory orchard.arlington.ma.us:/d4/vol/cvsafs/src/afs

Modified Files:
      Tag: netbsd-merge
	afs_nbsdops.c 
Log Message:
Fix lookup locking protocol bug in afs_nbsd_lookup(): 
If both LOCKPARENT and ISDOTDOT are set, release parent, lock child,
then relock parent to avoid deadlock.


------- End of Forwarded Message


home help back first fref pref prev next nref lref last post