update comments and correct reclaim algorithm if there is no record existing in FTW working block.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11318 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
erictian 2011-02-16 05:31:53 +00:00
parent 8e491a81e0
commit 8dc8879ab3
2 changed files with 5 additions and 5 deletions

View File

@ -40,7 +40,7 @@
If one of them is not satisfied, FtwWrite may fail. If one of them is not satisfied, FtwWrite may fail.
Usually, Spare area only takes one block. That's SpareAreaLength = BlockSize, NumberOfSpareBlock = 1. Usually, Spare area only takes one block. That's SpareAreaLength = BlockSize, NumberOfSpareBlock = 1.
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 This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -167,8 +167,8 @@ FvbNotificationEvent (
EFI_FTW_DEVICE *FtwDevice; EFI_FTW_DEVICE *FtwDevice;
// //
// Just return to avoid install SMM FaultTolerantWriteProtocol again // Just return to avoid installing FaultTolerantWriteProtocol again
// if Fault Tolerant Write protocol had been installed. // if Fault Tolerant Write protocol has been installed.
// //
Status = gBS->LocateProtocol ( Status = gBS->LocateProtocol (
&gEfiFaultTolerantWriteProtocolGuid, &gEfiFaultTolerantWriteProtocolGuid,

View File

@ -2,7 +2,7 @@
Internal functions to operate Working Block Space. Internal functions to operate Working Block Space.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -337,7 +337,7 @@ FtwReclaimWorkSpace (
&FtwDevice->FtwLastWriteHeader &FtwDevice->FtwLastWriteHeader
); );
Header = FtwDevice->FtwLastWriteHeader; Header = FtwDevice->FtwLastWriteHeader;
if (!EFI_ERROR (Status) && (Header != NULL) && (Header->Complete != FTW_VALID_STATE)) { if (!EFI_ERROR (Status) && (Header != NULL) && (Header->Complete != FTW_VALID_STATE) && (Header->HeaderAllocated == FTW_VALID_STATE)) {
CopyMem ( CopyMem (
Ptr + sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER), Ptr + sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER),
FtwDevice->FtwLastWriteHeader, FtwDevice->FtwLastWriteHeader,