zlacker

[parent] [thread] 2 comments
1. M95D+(OP)[view] [source] 2026-02-03 10:53:07
FAT can be made tolerant form the driver just like a journaled FS:

  1) mark blocks allocated in first FAT
  If a crash occurs here, then data written is incomplete, so write FAT1 with data from FAT2 discarding all changes.
  
  2) write data in sectors
  If a crash occurs here, same as before, keep old file size.
  
  3) update file size in the directory
  This step is atomic - it's just one sector to update. If a crash occurs here (file size matches FAT1), copy FAT1 to FAT2 and keep the new file size.
  
  4) mark blocks allocated in the second FAT
  If a crash occurs here, write is complete, just calculate and update free space.
  
  5) update free space
replies(1): >>ale42+G9
2. ale42+G9[view] [source] 2026-02-03 12:02:38
>>M95D+(OP)
Is this something the FAT driver is Linux can do?
replies(1): >>dezgeg+gX
◧◩
3. dezgeg+gX[view] [source] [discussion] 2026-02-03 16:20:50
>>ale42+G9
No. There are proprietary implementations which can, though not in 100% of the cases.
[go to top]