The FAT driver has to access the file allocation table and also the data on the device. This case hasn't been covered by the current block caching mechanism. For this reason the FAT driver cached the file allocation table itself. Due to some bugs the file allocation table in the cache and on the device can get out of sync. A quite simple way to trigger this is to create a directory and unmount the filesystem afterwards. The directory will not be written to disk. This series fixes this by reverting the FAT internal caching mechanism and instead extend the block caching layer to cover this case. Sascha Hauer (3): list: add list_last_entry function fat: revert fat caching mechanism block: reimplement caching common/block.c | 274 ++++++++++++++++++++++++++++++++++++------------- fs/fat/ff.c | 93 ++++------------- include/block.h | 16 ++-- include/linux/list.h | 11 ++ 4 files changed, 241 insertions(+), 153 deletions(-) _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox