[OpenAFS] OAFS 1.4.2fc4 Solaris8 Problems salvaging volumes
Chaskiel M Grundman
Fri, 29 Sep 2006 20:52:25 -0400
--On Friday, September 29, 2006 05:08:02 PM -0500 Matt Elliott
> ---------- 1 daemon root 8041 Apr 28 05:48 zzzz56VJNE0
This file is much larger than I would have expected. it should be a fixed
size (552 bytes on i386 linux. sparc solaris may not be identical, but
should be similar)
> 09/29/2006 17:05:13 CHECKING CLONED VOLUME 1.
> 09/29/2006 17:05:13 Part of the header (Volume information) is corrupted
> 09/29/2006 17:05:13 totalInodes 20
> Well, we got further. Any more ideas?
I think it would make sense to delete the cloned volume id "1". I have no
idea what would have created that.
I think you will have files
zzzz52, zzzz92, zzzzD2 in the special directory.
move them aside and try salvaging again.
>>> 09/29/2006 10:15:50 Recreating link table for volume 605564696.
>>> Unable to allocate link table inode for volume 605564696 (error = 20)
>> 20 is ENOTDIR.
>> what's in /vicepd/AFSIDat/M/Mw04Y/special?
>> does that path exist as a directory?
> Nope, it shows up as a file.
># ls -la
> total 20
> drwx------ 3 root root 512 Apr 27 22:13 +
> drwx------ 3 root root 512 Apr 27 22:13 .
> drwx------ 3 root root 512 Sep 27 13:06 ..
> ---------- 1 daemon root 6640 Apr 28 05:48 special
Recovering from this problem is going to be tough. you need new special
files (link table, volume info file, vnode indices) , and the salvager
isn't smart enough to recreate all of them properly. There are some
experimental tools someone I know wrote (who can speak up if he so desires)
that might be able to help with this situation, but it would be pointless
to spend time on that if there are other problems with the volume (such as
a missing root directory).
please run salvager -inodes /vicepd 605564696 and send me the output (or
put it in afs and send the list a pointer.)
what you should _not_ do is remove the file "special", create a directory
there, and run the salvager. if you do that, all the files in the volume
will be deleted.