Successful partitions are never marked bad by cgptlib.

Change-Id: I70e54f59b540e9115bb6bd77ae51f49a1f4ab671

BUG=chromeos-partner:1029
TEST=make && make runtests

Review URL: http://codereview.chromium.org/3315014
This commit is contained in:
Randall Spangler
2010-09-07 10:30:50 -07:00
parent 9828594eaa
commit 2c21fe6693
3 changed files with 17 additions and 14 deletions

View File

@@ -129,10 +129,12 @@ int GptUpdateKernelEntry(GptData* gpt, uint32_t update_type) {
}
case GPT_UPDATE_ENTRY_BAD: {
/* Giving up on this partition entirely. */
e->attrs.fields.gpt_att = previous_attr & ~(
CGPT_ATTRIBUTE_SUCCESSFUL_MASK |
CGPT_ATTRIBUTE_TRIES_MASK |
CGPT_ATTRIBUTE_PRIORITY_MASK);
if (!GetEntrySuccessful(e)) {
/* Only clear tries and priority if the successful bit is not set. */
e->attrs.fields.gpt_att = previous_attr & ~(
CGPT_ATTRIBUTE_TRIES_MASK |
CGPT_ATTRIBUTE_PRIORITY_MASK);
}
break;
}
default: