Solaris: do not call VFS_RELE with GLOCK
authorAndrew Deason <adeason@sinenomine.net>
Sun, 16 May 2010 04:12:33 +0000 (23:12 -0500)
committerDerrick Brashear <shadow@dementia.org>
Sun, 16 May 2010 12:24:04 +0000 (05:24 -0700)
commitc0afd1419de3fb8cab44ac212d0a85a9998c7cba
tree24fee5a8a1ccdbdf6df9fd5d6886a547fabdacf5
parent7e32fbea90821d5321352cb86b18533fb34f0409
Solaris: do not call VFS_RELE with GLOCK

VFS_RELE can call afs_freevfs, which grabs GLOCK. Thus, don't call
VFS_RELE with GLOCK held or we can try to recursively acquire GLOCK
and panic.  This is currently unlikely to occur (sans vfs refcount
unbalances) without support for forced unmounts, since the last vfs
ref will usually come from the caller of afs_unmount(). But it still
may be possible.

Change-Id: I152bd13abc2e90f258f98194833c50c3a2846904
Reviewed-on: http://gerrit.openafs.org/1966
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/SOLARIS/osi_vnodeops.c