load volume info from .vif file, use superblock as a backup

This commit is contained in:
Chris Lu
2019-12-28 12:28:58 -08:00
parent b7bc08cf52
commit c06f7eb48a
9 changed files with 292 additions and 251 deletions

View File

@@ -184,8 +184,10 @@ func ScanVolumeFile(dirname string, collection string, id needle.VolumeId,
if v, err = loadVolumeWithoutIndex(dirname, collection, id, needleMapKind); err != nil {
return fmt.Errorf("failed to load volume %d: %v", id, err)
}
if err = volumeFileScanner.VisitSuperBlock(v.SuperBlock); err != nil {
return fmt.Errorf("failed to process volume %d super block: %v", id, err)
if v.volumeInfo.Version == 0 {
if err = volumeFileScanner.VisitSuperBlock(v.SuperBlock); err != nil {
return fmt.Errorf("failed to process volume %d super block: %v", id, err)
}
}
defer v.Close()