]> git.proxmox.com Git - mirror_edk2.git/commitdiff
update comments and correct reclaim algorithm if there is no record existing in FTW...
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 16 Feb 2011 05:31:53 +0000 (05:31 +0000)
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 16 Feb 2011 05:31:53 +0000 (05:31 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11318 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.c
MdeModulePkg/Universal/FaultTolerantWriteDxe/UpdateWorkingBlock.c

index 5f998c0c6656570ea38c451a833de4a14bcc7eb8..1235bd87f43473389d65fd6c85a26af02f34236b 100644 (file)
@@ -40,7 +40,7 @@
   If one of them is not satisfied, FtwWrite may fail.\r
   Usually, Spare area only takes one block. That's SpareAreaLength = BlockSize, NumberOfSpareBlock = 1.\r
 \r
   If one of them is not satisfied, FtwWrite may fail.\r
   Usually, Spare area only takes one block. That's SpareAreaLength = BlockSize, NumberOfSpareBlock = 1.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -167,8 +167,8 @@ FvbNotificationEvent (
   EFI_FTW_DEVICE                          *FtwDevice;\r
 \r
   //\r
   EFI_FTW_DEVICE                          *FtwDevice;\r
 \r
   //\r
-  // Just return to avoid install SMM FaultTolerantWriteProtocol again\r
-  // if Fault Tolerant Write protocol had been installed.\r
+  // Just return to avoid installing FaultTolerantWriteProtocol again\r
+  // if Fault Tolerant Write protocol has been installed.\r
   //  \r
   Status = gBS->LocateProtocol (\r
                   &gEfiFaultTolerantWriteProtocolGuid, \r
   //  \r
   Status = gBS->LocateProtocol (\r
                   &gEfiFaultTolerantWriteProtocolGuid, \r
index 4690a08d532f48ca270f4c205973dfb0f76bd815..425aa403c3b520c569a06f56c8c0f8021928294b 100644 (file)
@@ -2,7 +2,7 @@
 \r
    Internal functions to operate Working Block Space.\r
 \r
 \r
    Internal functions to operate Working Block Space.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -337,7 +337,7 @@ FtwReclaimWorkSpace (
                &FtwDevice->FtwLastWriteHeader\r
                );\r
     Header = FtwDevice->FtwLastWriteHeader;\r
                &FtwDevice->FtwLastWriteHeader\r
                );\r
     Header = FtwDevice->FtwLastWriteHeader;\r
-    if (!EFI_ERROR (Status) && (Header != NULL) && (Header->Complete != FTW_VALID_STATE)) {\r
+    if (!EFI_ERROR (Status) && (Header != NULL) && (Header->Complete != FTW_VALID_STATE) && (Header->HeaderAllocated == FTW_VALID_STATE)) {\r
       CopyMem (\r
         Ptr + sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER),\r
         FtwDevice->FtwLastWriteHeader,\r
       CopyMem (\r
         Ptr + sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER),\r
         FtwDevice->FtwLastWriteHeader,\r