OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_17-22-g49a95f7
Gerrit Code Review
gerrit@openafs.org
Tue, 5 Apr 2016 08:24:15 -0400
The following commit has been merged in the openafs-stable-1_6_x branch:
commit 49a95f7c2bd550436e4bb2b7b4e9843315c0ebba
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date: Tue Dec 29 10:31:43 2015 -0300
afs: do not allow two shutdown sequences in parallel
Often, ‘afsd -shutdown’ is called right after ‘umount’.
Both commands hold the glock before calling ‘afs_shutdown’.
However, one of the functions called by 'afs_shutdown', namely,
‘afs_FlushVCBs’, might drop the glock when the global
'afs_shuttingdown' is still equal to 0. As a result, a scenario
with two shutdown sequences proceeding in parallel is possible.
To fix the problem, the global ‘afs_shuttingdown’ is used as an
enumerated type to make sure that the second thread will not run
‘afs_shutdown’ while the first one is stuck inside ‘afs_FlushVCBs’.
Reviewed-on: http://gerrit.openafs.org/12016
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams <3chas3@gmail.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 70fd9bc6dcc79cb25e98cdcfd0f085c4bf4f310a)
Change-Id: I073d1914a7daa858a78305ff154074f2a51a9f5f
Reviewed-on: https://gerrit.openafs.org/12179
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/afs/AIX/osi_file.c | 2 +-
src/afs/DARWIN/osi_file.c | 2 +-
src/afs/DARWIN/osi_module.c | 2 +-
src/afs/FBSD/osi_file.c | 2 +-
src/afs/HPUX/osi_file.c | 2 +-
src/afs/HPUX/osi_vnodeops.c | 2 +-
src/afs/IRIX/osi_file.c | 2 +-
src/afs/LINUX/osi_file.c | 4 ++--
src/afs/LINUX/osi_vnodeops.c | 2 +-
src/afs/LINUX24/osi_file.c | 4 ++--
src/afs/LINUX24/osi_vnodeops.c | 2 +-
src/afs/NBSD/osi_file.c | 2 +-
src/afs/OBSD/osi_file.c | 2 +-
src/afs/SOLARIS/osi_file.c | 2 +-
src/afs/SOLARIS/osi_vnodeops.c | 2 +-
src/afs/UKERNEL/osi_vnodeops.c | 2 +-
src/afs/VNOPS/afs_vnop_attrs.c | 2 +-
src/afs/VNOPS/afs_vnop_fid.c | 2 +-
src/afs/afs.h | 8 ++++++--
src/afs/afs_call.c | 14 +++++++-------
src/afs/afs_osi_pag.c | 6 +++---
src/afs/afs_pag_call.c | 6 +++---
src/afs/afs_vcache.c | 2 +-
src/rx/SOLARIS/rx_knet.c | 2 +-
24 files changed, 41 insertions(+), 37 deletions(-)
--
OpenAFS Master Repository