Opened 6 years ago

Closed 6 years ago

#7591 closed defect (fixed)

Sugar should remove old content from the journal automatically if NAND is full.

Reported by: cscott Owned by: dgilmore
Priority: high Milestone: 8.1.1 (was Update1.1)
Component: initscripts Version: not specified
Keywords: Cc: epastorino, cjb, dgilmore
Blocked By: Blocking: #7125
Deployments affected: Action Needed: add to build
Verified: no

Description

This is a controversial "straw-man" suggestion, originally from CJB:

In order to maintain a usable system, cjb proposed, "Here's a straw-man: if disk is full at boot, delete the single largest journal entry, iterate until disk is not full anymore."

Change History (9)

comment:1 Changed 6 years ago by cscott

  • Blocking 7125 added

(In #7125) Here's a list of tasks associated with this general bug, and trac #s for them:

  • the initscripts should be sure to unfreeze the dcon if/when X fails to start. This ensures that the system is obviously recoverable (you can recover by rebooting with the check key held down, but this is not obvious!). (#7586)
  • sugar should, ideally, start even if flash is full. It is currently failing when writing to ~olpc/.boot_time or some such, and crashing. (#7587)
  • once sugar starts, there should be a message indicating that the NAND is critically full. (#7588)
  • trying to save new content to the journal should also give an obvious message that the NAND is full. (#7589)
  • removing content from the journal should work even if NAND is full. (#7590)
  • automatically remove content from the journal is NAND is full? (controversial) (#7591)
  • Jffs2 is slow when it fills/root should have reserved space (#5317)

comment:2 Changed 6 years ago by mstone

Actually, something init-like should remove old content because Sugar probably won't start.

comment:3 Changed 6 years ago by mstone

  • Action Needed changed from never set to design
  • Cc epastorino added
  • Component changed from sugar to initscripts
  • Owner changed from marco to dgilmore
  • Priority changed from normal to high

comment:4 Changed 6 years ago by cjb

  • Action Needed changed from design to review
  • Cc cjb added

comment:5 Changed 6 years ago by kimquirk

  • Action Needed changed from review to add to build
  • Cc dgilmore added
  • Milestone changed from 8.2.0 (was Update.2) to 8.1.1 (was Update1.1)

We need to get this into a 709 build (8.1.2) and start testing.

comment:6 Changed 6 years ago by dgilmore

this needs to be in a package to get into a build.

comment:7 Changed 6 years ago by cjb

The python script is:

http://dev.laptop.org/~cjb/failsafe.py

|Testcase|

  • fill the NAND up completely with files in any of:

/home/olpc/.sugar/default/data
/home/olpc/.sugar/default/datastore/store
/home/olpc/Activities/, and then reboot:

  • .. on both a US mfg data machine and a Spanish mfg data machine
  • .. with both pretty boot enabled and pretty boot disabled
  • check that the text is displayed in English and Spanish correctly
  • check that pressing a key causes the largest files to be deleted until there's more than 20M free space on the NAND

comment:8 Changed 6 years ago by cscott

What's the status here? I don't think "add to build" is appropriate any more, is it?

comment:9 Changed 6 years ago by cjb

  • Resolution set to fixed
  • Status changed from new to closed

It's in and tested and shipped (in 8.1.2). Closing.

Note: See TracTickets for help on using tickets.