Opened 10 years ago

Closed 10 years ago

Last modified 7 years ago

#1562 closed defect (fixed)

Make reading version file more robust

Reported by: sayamindu Owned by: alsroot
Priority: Unspecified by Maintainer Milestone: Unspecified
Component: Sugar Version: Git as of bugdate
Severity: Unspecified Keywords: r?
Cc: Distribution/OS: OLPC
Bug Status: Unconfirmed

Description

If a filesystem corruption occurs just after the datastore has been written after first boot, on subsequent boots, Sugar refuses to start and the display-manager gets into an unending loop, making recovery without a reflash/re-install very difficult.

We can make the chances of this happening less by calling sync() after the datastore initialization, and also making the get_version() method more robust.

Attachments (1)

dlo_9612_1.patch (628 bytes) - added by sayamindu 10 years ago.
Updated patch

Download all attachments as: .zip

Change History (7)

comment:1 Changed 10 years ago by sayamindu

  • Keywords r? added

comment:2 Changed 10 years ago by sayamindu

Unearthed another potential issue - described in #1563

comment:3 Changed 10 years ago by sayamindu

  • Owner changed from tomeu to alsroot
  • Status changed from new to assigned

comment:4 Changed 10 years ago by sayamindu

  • Summary changed from Ensure that datastore initialization is written completely to disk to Make reading version file more robust

In light of the discussion over at #1568, I decided to check if sync() in this particular case makes any difference, and it does not.
I think #1563 and the updated patch should deal with the problem.

Changed 10 years ago by sayamindu

Updated patch

comment:6 Changed 7 years ago by dnarvaez

  • Component changed from sugar-datastore to Sugar
Note: See TracTickets for help on using tickets.