Only traverse recovery file's FAT table to fast the recovery performance.

Signed-off-by: erictian
Reviewed-by: niruiyu

(based on FatPkg commit 6e68a62cf0c6b8ecad2bceff4e8d86ff08d1f041)

[jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD]
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Mark Doran <mark.doran@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Feng Tian
2011-11-22 03:01:14 +00:00
committed by Jordan Justen
parent 4d0e0c4510
commit 1d951a3086
2 changed files with 17 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
/** @file
FAT file system access routines for FAT recovery PEIM
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -315,7 +315,10 @@ FatSetFilePos (
}
File->CurrentPos += Pos;
//
// Calculate the amount of consecutive cluster occupied by the file.
// FatReadFile() will use it to read these blocks once.
//
File->StraightReadAmount = 0;
Cluster = File->CurrentCluster;
while (!FAT_CLUSTER_FUNCTIONAL (Cluster)) {
@@ -517,9 +520,6 @@ FatReadNextDirectoryEntry (
SubFile->StartingCluster = SubFile->CurrentCluster;
SubFile->Volume = ParentDir->Volume;
if (SubFile->StartingCluster != 0) {
Status = FatSetFilePos (PrivateData, SubFile, 0);
}
//
// in Pei phase, time parameters do not need to be filled for minimum use.
//