OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-64-g34b7fd4
Gerrit Code Review
gerrit@openafs.org
Mon, 3 May 2010 17:11:59 -0700 (PDT)
The following commit has been merged in the master branch:
commit 9be76c0d312e9d4ba879d2f82a7c556bf8025da7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date: Sat Nov 7 00:16:28 2009 +0000
Refactor afs_NewVCache
afs_NewVCache was a twisty turny maze of #ifdefs and duplicated code.
This makes a number of sweeping changes to simplify this code, and to
move platform specific elements out into their own directories.
*) ShakeLooseVCaches is refactored so that the same code can be used
both for platforms that support dynamic vcaches, and those which
don't.
*) afs_NewVCache, ShakeLooseVCaches, and afs_AllocVCache are all
modified to remove platform specific code, and to call platform
specific functions.
*) A new platform file 'osi_vcache.c' is created to hold a number of
platform specific vcache operations:
*) osi_TryEvictVCache handles the decision of whether a vcache can
be evicted or not, and does so if required
*) osi_NewVnode allocates a new vnode
*) osi_PrePopulateVCache does the necessary population of the
vcache, before it's threaded onto the VLRUQ and associated hash
tables.
*) osi_AttachVnode handles attaching an OS vnode to our vcache,
where that is necessary
*) osi_PostPopulateVCache handles the vcache population that must
occur after we're on the VLRUQ and have a vnode attached.
Change-Id: I368e5fb500d012b44141aa8f8cf0516e63e58f57
Reviewed-on: http://gerrit.openafs.org/1881
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/AIX/osi_vcache.c | 75 +++++
src/afs/DARWIN/osi_vcache.c | 117 +++++++
src/afs/FBSD/osi_vcache.c | 112 +++++++
src/afs/HPUX/osi_vcache.c | 51 +++
src/afs/IRIX/osi_vcache.c | 112 +++++++
src/afs/LINUX/osi_vcache.c | 102 ++++++
src/afs/LINUX24/osi_vcache.c | 112 +++++++
src/afs/NBSD/osi_vcache.c | 66 ++++
src/afs/OBSD/osi_vcache.c | 66 ++++
src/afs/SOLARIS/osi_vcache.c | 70 ++++
src/afs/UKERNEL/osi_vcache.c | 49 +++
src/afs/afs_osi.h | 7 +
src/afs/afs_vcache.c | 594 ++++++++---------------------------
src/libafs/Makefile.common.in | 2 +
src/libafs/MakefileProto.AIX.in | 1 +
src/libafs/MakefileProto.DARWIN.in | 1 +
src/libafs/MakefileProto.DFBSD.in | 1 +
src/libafs/MakefileProto.DUX.in | 1 +
src/libafs/MakefileProto.FBSD.in | 1 +
src/libafs/MakefileProto.HPUX.in | 1 +
src/libafs/MakefileProto.IRIX.in | 1 +
src/libafs/MakefileProto.LINUX.in | 1 +
src/libafs/MakefileProto.NBSD.in | 1 +
src/libafs/MakefileProto.OBSD.in | 1 +
src/libafs/MakefileProto.SOLARIS.in | 1 +
src/libuafs/Makefile.common.in | 10 +
26 files changed, 1087 insertions(+), 469 deletions(-)
--
OpenAFS Master Repository