OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2563-g0e81db3
Gerrit Code Review
gerrit@openafs.org
Thu, 24 May 2012 09:31:13 -0700 (PDT)
The following commit has been merged in the master branch:
commit 0e81db38b549d79a3af5fce0f9f8fa48d9e6efeb
Author: Andrew Deason <adeason@sinenomine.net>
Date: Fri May 18 17:40:38 2012 -0400
afs: Do not QueueVCB before osi_dnlc_purge*
In afs_FlushVCache, when we QueueVCB, we might drop the afs_xvcache
lock (as of 76158df491f47de56d1febe1d1d2d17d316c9a74). The vcache may
still be on the DNLC, so a lookup while xvcache is dropped can cause
someone else to grab a reference to the vcache while it is being
flushed. This can cause panics and failed assertions, since someone
will have a reference to the flushed vcache, which is effectively
freed and many of the structure fields are no longer valid.
So instead, do not call QueueVCB until we have purged the vcache from
the DNLC.
Change-Id: Ia6b51b4a2bb26903346217fbd6fc7d959d87eae7
Reviewed-on: http://gerrit.openafs.org/7430
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/afs_vcache.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
--
OpenAFS Master Repository