Fix FAT block caching

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux