]> git.michaelhowe.org Git - packages/o/openafs.git/commit
vol: make namei_ListAFSSubDirs deal with multiple/bad linktables
authorTom Keiser <tkeiser@sinenomine.net>
Thu, 14 Oct 2010 05:24:03 +0000 (01:24 -0400)
committerDerrick Brashear <shadow@dementia.org>
Fri, 4 Feb 2011 12:25:13 +0000 (04:25 -0800)
commit0ab61bd20868a603279d7df6da00ed072e59e370
tree2b6e3dd813d2c998525d51924bd0381664f7b923
parente1356ef5a23008af5b46e1f89a7360c0f026e42d
vol: make namei_ListAFSSubDirs deal with multiple/bad linktables

The salvager ends up deadlocking when multiple linktables exist
in the same volume group special directory.  The issue is that we
open and flock all discovered linktables, but only close out the
last one found.  Consequently, when our child scans the linktables
again, we deadlock against the locked and leaked descriptor(s) our
parent left around before forking.

While we have so far been unable to root-cause the actual creation
of spurious linktables, this patch will at least stop the salvager
from deadlocking against itself when this occurs.

Reviewed-on: http://gerrit.openafs.org/2979
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 19d2e0e34b5f100fdbec1da8373badd624c02248)

Change-Id: Ifd81e41258b1974b4b6e0df893fa37387bc48757
Reviewed-on: http://gerrit.openafs.org/3889
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/vol/namei_ops.c