OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-342-gaad83a3
Gerrit Code Review
gerrit@openafs.org
Fri, 29 Oct 2010 12:04:41 -0700 (PDT)
The following commit has been merged in the master branch:
commit aad83a30a82407bfa6ac15b49fd31d69b563e898
Author: Ben Kaduk <kaduk@mit.edu>
Date: Fri Oct 29 03:18:02 2010 -0400
FBSD: correct and simplify vcache eviction routines
osi_VM_FlushVCache and osi_TryEvictVCache were both attempting
to be wrappers around vgone(), with some checks before hand.
Implement the latter in terms of the former to prevent
code duplication and propagation of incorrect code.
Additionally, correct the locking around vgone(). The
vnode lock must be held, and we must also increase the vnode's
hold count so that it does not disappear out from under us.
As we need the interlock to check the usecount, keep it
locked until we lock the vnode lock, for extra protection.
As an added bonus, we no longer try to call vgonel(), which
is not an exported symbol and merely happened to work due
to the current kernel linker implementation.
Remove some stale comments.
With this change, a parallel buildworld completes on
my four-core machine.
Change-Id: I665607da25518ddd786869b139d87baed8a05e9f
Reviewed-on: http://gerrit.openafs.org/3196
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/FBSD/osi_vcache.c | 48 +++++++++-----------------------------
src/afs/FBSD/osi_vm.c | 56 +++++++++++++++++++-------------------------
2 files changed, 35 insertions(+), 69 deletions(-)
--
OpenAFS Master Repository