OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-180-g67f1a94
Gerrit Code Review
Sun, 30 May 2010 13:11:39 -0700 (PDT)
The following commit has been merged in the master branch:
Author: Rod Widdowson <firstname.lastname@example.org>
Date: Thu May 20 18:27:11 2010 +0100
Rewrite vldb_check -fix
vldb_check -fix was very 'topical' in nature. It showed signs that
each sucessive corruption had been treated as a one off needing a
specific fix. This made the code difficult to understand and
incomplete: for instance a single volume on the wrong hash only was
not corrected. Further there was some rather unfortunately code which
would under certain circumstances stamp the last volume at various
places across the file.
This checkin removes all the old code and replaces it with a
'systematic' fix. During the last scan across all the volumes, all
four of the hash chains are rebuild from the ground up. We can then
get rid of the outer 'Mung Until Now Good' iteration and further we
benefit from a linear run time.
Tested by building several different forms of broken-ness in all three
chains and then fixing it.
Now with improved logging and correct non insertion of nonexistant elements
and clean compiled with extra warning.
Reviewed-by: Russ Allbery <email@example.com>
Tested-by: Russ Allbery <firstname.lastname@example.org>
src/vlserver/vldb_check.c | 314 ++++++++++++++++++++-------------------------
1 files changed, 140 insertions(+), 174 deletions(-)
OpenAFS Master Repository