mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Fix FAT block caching
@ 2012-02-15  8:10 Sascha Hauer
  2012-02-15  8:10 ` [PATCH 1/3] list: add list_last_entry function Sascha Hauer
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sascha Hauer @ 2012-02-15  8:10 UTC (permalink / raw)
  To: barebox

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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-15  8:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-15  8:10 Fix FAT block caching Sascha Hauer
2012-02-15  8:10 ` [PATCH 1/3] list: add list_last_entry function Sascha Hauer
2012-02-15  8:10 ` [PATCH 2/3] fat: revert fat caching mechanism Sascha Hauer
2012-02-15  8:10 ` [PATCH 3/3] block: reimplement caching Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox