Add safety checks on all hostList traversals
authorAndrew Deason <adeason@sinenomine.net>
Fri, 20 Nov 2009 20:15:28 +0000 (14:15 -0600)
committerDerrick Brashear <shadow|account-1000005@unknown>
Sat, 28 Nov 2009 17:07:35 +0000 (09:07 -0800)
commit58258ba3b89732ea825e1aff2decab54347ab92e
tree70cb93e3d8230307b66419f392c1bb88f2244bae
parent9bff2027cb963343778001512d5cdf00cc7094c6
Add safety checks on all hostList traversals

Currently, h_Enumerate checks that it doesn't enumerate over more than
hostCount hosts, in case the hostList has a cycle or is otherwise
corrupt. Add similar checks to all places in the code that loop over
hostList, to prevent the code from getting in an infinite loop under
H_LOCK in the case of a hostList cycle.

Also, ShutDownAndCore instead of assert'ing, so we try and detach
volumes first, possibly reducing salvaging time when we restart after
core'ing.

Change-Id: Ide1e5aca7c2c4a4af3f62bc07821db694f2f9999
Reviewed-on: http://gerrit.openafs.org/863
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/viced/host.c