OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-342-gaad83a3
Gerrit Code Review
Fri, 29 Oct 2010 12:04:41 -0700 (PDT)
The following commit has been merged in the master branch:
Author: Ben Kaduk <firstname.lastname@example.org>
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.
Reviewed-by: Derrick Brashear <email@example.com>
Tested-by: Derrick Brashear <firstname.lastname@example.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