Skip to content

Draft: Support repairing Persistent Storage filesystem

segfault requested to merge 15451-support-manual-fsck-on-error into stable

... when it can't be automatically repaired by e2fsck -f -p.

Closes #15451

TODO:

  • write doc about doing ddrescue on the command-line from Tails to another USB stick
  • automatically open that doc when Tails is started

Parts of the design on Mural which are not implemented (yet):

  • The output printed by e2fsck -f -y is not shown to the user. That command is executed by the tps backend and I don't know a good way to continuously stream the output to the frontend (I also didn't research much though). I'm not sure if it's worth implementing that, because I expect that most users won't find the output useful anyway.
  • The repair currently can't be canceled. It's not clear to me if it's safe to do that. I didn't find an authoritative source, only https://serverfault.com/questions/115426/is-it-safe-to-stop-a-fsck-in-progress/115590#115590 which on the one hand states that it should be safe to to interrupt an actively writing fsck but on the other hand advises to not do that. If we want that feature, I think the next step would be to check the e2fsck source code to figure out if it's safe to interrupt or not.
  • I implemented the status label in the Persistent Storage section but did not yet implement any of the three options for keeping a consistent height, because IMO it doesn't look to bad in practice when the height of the Welcome Screen changes dynamically (it also does that when new additional settings are added), so I think my concerns regarding that were unfounded.
Edited by segfault

Merge request reports