Consider detecting filesystem errors without disk errors
On !1427 (comment 229517), we decided to leave out the case that the journal contains filesystem errors (e.g. kernel: EXT4-fs error
) but no disk errors (e.g. kernel: I/O error, dev sdc, sector 16809984
) and decide somewhere else what we want to do in that case.
We now have at least one bug report (d22bddbbf1cd22839c24944e02003c15) where that happened. After creating the Persistent Storage partition, mounting that partition fails with:
> Mai 02 08:26:51 amnesia tpsd[9203]: INFO:device.py:433: [14503-Create] Mounting filesystem
> Mai 02 08:26:51 amnesia tpsd[9203]: INFO:service.py:205: [14503-Create] Executing command mount -o acl /dev/dm-0 /live/persistence/TailsData_unlocked
> Mai 02 08:26:52 amnesia kernel: EXT4-fs error (device dm-0): ext4_find_extent:936: inode #8: comm mount: pblk 30965759 bad header/extent: invalid magic - magic d891, entries 46478, max 27826(0), depth 31975(0)
> Mai 02 08:26:53 amnesia tpsd[9203]: mount: /live/persistence/TailsData_unlocked: wrong fs type, bad option, bad superblock on /dev/mapper/TailsData_unlocked, missing codepage or helper program, or other error.
> Mai 02 08:26:53 amnesia tpsd[9203]: dmesg(1) may have more information after failed mount system call.
> Mai 02 08:26:53 amnesia kernel: jbd2_journal_init_inode: Cannot locate journal superblock
> Mai 02 08:26:53 amnesia kernel: EXT4-fs (dm-0): Could not load journal inode