|
|
|
|
|
by cmurf
1078 days ago
|
|
If the write order isn't guaranteed you can get a new super block in place without the updated trees being written. The super points to trees that don't exist. Recent but no longer current trees, can be partly overwritten when the kernel is informed a super block write was successful. But if the super block write wasn't successful (the device lied), the stale super block on disk points to damaged metadata and recoverability isn't certain. |
|
If it isn't correct, ignore it and move on to the previous superblock. Keep going until you can verify a contiguous 30 seconds of superblocks.
If writes are being delayed by more than 30 seconds, your problems go beyond "out of order".
This does impose the requirement not to overwrite trees that are only a minute or two old. That should not be hard.