OLPC SW ECO - SD CARD CORRUPTION

From OLPC
Jump to: navigation, search

This is an unscheduled software release.

Summary

Title
SD card corruption workaround
Date proposed
2008-06-23
Target date
week of 2008-07-07
Trac items
6532 - SD corruption on suspend/resume.
Priority
High. We have seen multiple reports of this from G1G1 users.
Champion
Deepak Saxena
Reviewers
Reviewers should include: Chris Ball, Andres Salomon, Michael Stone
Special testing required
Rollout
  • Manufacturing: TBD
  • G1G1 users should upgrade to this build to pick up new kernel
  • Field: TBD
Discussion
Comments/discussion
Checklist
OLPC SW ECO - SD Card Corruption - Checklist (initially cloned from USR_Checklist)

Issue list

  1. If you suspend/resume an XO with a mounted, ext3-formatted partition on and SD card, the card's partition table and card geometry data will be wiped out.
    • This is a critical bug as data is lost
    • Root cause: The root cause of this bug is 1339, a long wake up time for the CAFE SD controller. Due to this long delay, the kernel queries the SD controller before it has detected the card and does not recognize that the card as the one that was plugged in at suspend time. For a more detailed explanation, see the discussion in trac (6532).

Proposed Fix(es)

Patch for issue is here.

Changed packages, from 703:

  • kernel

Suggested tests

  1. The laptop should go through a large number of suspend/resume cycles with a mounted, EXT3-formatted partition on an SD card with no corruption.

Test Results

Suspend Resume Test

  1. Deepak Saxena unit tested the patch and conducted over 500 suspend/resume cycles with no corruption.
  2. Todo: Run more cycles in QA testbed

Upgrades

  1. Clean install:
  2. Network upgrade: .

Generic Tests

  1. One hour smoke test:

Summary

While this issue will most probably not impact laptops deployed in schools as it requires an EXT3 formatted card which means someone manually formatting it, it has impacted G1G1 users and requires some sort of update that can be installed by users.

Final test