FBSD TryToSmush locking fixup
authorBen Kaduk <kaduk@mit.edu>
Wed, 30 Jun 2010 04:21:10 +0000 (00:21 -0400)
committerDerrick Brashear <shadow@dementia.org>
Wed, 30 Jun 2010 12:13:58 +0000 (05:13 -0700)
commit46727481ec5c47c2d3402acb572bf0d6167690ec
treeba7cbdd5f13f8640ec22105637da66ec58a61a7d
parent3688073993b57c4cd13f257294acd192e82012cf
FBSD TryToSmush locking fixup

We need to hold the interlock when we check v_flags, so do so.

TryToSmush is sometimes called with the vnode already locked,
as the current code appears to hold the vnode lock for the
current working directory (which is probably a bug).  Check if
the lock is already held (panic if someone else has it!), and
unlock as appropriate when we're done.

Change-Id: Id09ef1e10632c7f63b590271a6339a069176deac
Reviewed-on: http://gerrit.openafs.org/2294
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/FBSD/osi_vm.c