]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Correct duplicate special inodes while salvaging
authorAndrew Deason <adeason@sinenomine.net>
Mon, 26 Oct 2009 19:09:41 +0000 (14:09 -0500)
committerDerrick Brashear <shadow|account-1000005@unknown>
Tue, 1 Dec 2009 23:48:14 +0000 (15:48 -0800)
commitcf576939e903e989868145e599b6b8027a477b53
tree9ec36196c61182c752c774746afe5e70a50ba1eb
parent410fba4bfee0fd049489f9a61ca06f7b47429f4d
Correct duplicate special inodes while salvaging

Right now when the salvager encounters duplicate special inodes for a
volume, it refuses to salvage the volume, presumably because it does not
know which inodes to use when recreating the volume header.

However, this can cause the confusing state where the fileserver and
various volume utilities have no problem with a volume, but the salvager
refuses to salvage it and marks the volume as needing salvage. When
salvaging, if we already have a volume header, and we encounter
duplicate special inodes, it is likely that the special inode referenced
by the volume header is the correct one.

So, instead of erroring out, keep track of which inodes are referenced
in the volume header, and if there are any duplicates, either ignore or
delete the unreferenced ones, depending on the -orphans setting. Also be
a little more verbose when logging errors in this area.

Reviewed-on: http://gerrit.openafs.org/736
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Steve Simmons <scs@umich.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit d393aabca577917b107afdd42efb40cc2fdac50c)

Change-Id: I80f0666afe552354476bf0d5f85db8076854e974
Reviewed-on: http://gerrit.openafs.org/882
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/vol/vol-salvage.c