]> git.michaelhowe.org Git - packages/o/openafs.git/commit
afs: Remove afs_xosi
authorAndrew Deason <adeason@sinenomine.net>
Fri, 28 Sep 2018 22:12:40 +0000 (17:12 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Mon, 10 Jun 2019 11:41:57 +0000 (07:41 -0400)
commit390bb188b956d43f569ca10909d0a968355cddb9
tree7a5987dadbfb766cc384825120fdd9d689d50353
parent1a4e785f0d92f6e628a79bb8919085bfaa279fe6
afs: Remove afs_xosi

Since OpenAFS 1.0, all platforms in libafs have a lock called
afs_xosi, which is acquired and released around calls like VOP_GETATTR
on cache files. However, this lock doesn't appear to protect anything;
on all platforms, the code that runs while the lock is held uses only
calls VOP_GETATTR and accesses local variables (aside from
afs_osi_cred, which we use similarly in many other places). The
purpose of the lock has never been documented, and is not mentioned at
all in the afs_rwlocks text file.

The comment by the afs_xosi lock declaration suggests that the lock
was originally introduced to protect access to 'tvattr', which perhaps
was a global variable in the past. All uses of 'tvattr' are local now,
though, so protecting access to it doesn't make any sense.

So, remove afs_xosi, to remove the unnecessary serialization of
VOP_GETATTR calls.

Reviewed-on: https://gerrit.openafs.org/13350
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit d75bc6370f625479a67c7c0a50cce23c4d4a4ce5)

Change-Id: I33dc7935872cf071c4221d46cbb458e1f77185a2
Reviewed-on: https://gerrit.openafs.org/13529
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
22 files changed:
src/afs/AIX/osi_file.c
src/afs/AIX/osi_prototypes.h
src/afs/DARWIN/osi_file.c
src/afs/DARWIN/osi_prototypes.h
src/afs/DFBSD/osi_prototypes.h
src/afs/FBSD/osi_file.c
src/afs/FBSD/osi_prototypes.h
src/afs/HPUX/osi_file.c
src/afs/HPUX/osi_prototypes.h
src/afs/IRIX/osi_file.c
src/afs/IRIX/osi_prototypes.h
src/afs/IRIX/osi_vnodeops.c
src/afs/LINUX/osi_file.c
src/afs/LINUX/osi_module.c
src/afs/LINUX/osi_prototypes.h
src/afs/NBSD/osi_file.c
src/afs/NBSD/osi_prototypes.h
src/afs/OBSD/osi_file.c
src/afs/OBSD/osi_prototypes.h
src/afs/SOLARIS/osi_file.c
src/afs/SOLARIS/osi_prototypes.h
src/afs/afs_callback.c