Sergei Sharonov wrote: >> I am trying to mount a cramfs partition from flash. >> > > A word of warning. CRAMFS is broken in kernels < 2.6.18. As far as I can tell, > under heavy load (e.g. reading multiple files in parallel that are not cached) > it may fail with decompression errors. I think the issue is not exactly with > cramfs but with some interaction with page cache. Backporting just cramfs files > to 2.6.15 did not help. If you have drop_caches interface (kernel > 2.6.16 or > just backport it) it is easy to reproduce. Otherwise it happens _very_ > infrequently because most of the time files are already cached. However the > consequences are severe - corrupted executables, etc. > Here is a script to reproduce the problem: > > =============================================== > # Copy large file from cramfs to tmpfs > cp /bin/smbd /tmp/ > > # First concurrent access to files/directories > while [ 1 ]; do cat /bin/* > /dev/null; done & > > # Second concurrent access to test file and cache flush > for((i=0;i<99999;i++)) do echo -n "cycle=$i "; > cmp /bin/smbd /tmp/smbd ; > echo 3 > /proc/sys/vm/drop_caches ; > done > =============================================== > > Note that /bin is in cramfs. smbd can be any large file. > I've also seen statements that drop_caches interface is not 100% reliable. > Nevertheless I have experienced decompression errors even without forcing > cache purge. > Above script has caused failures on PowerPC/2.6.16 and ARM9/2.6.15. > 2.6.18 and 2.6.23 seem ok. > > Regards, > > Sergei > > P.S. Yes, cramfs has little to do with MTD but since ppl here use it with flash > I felt it was a good idea to post this warning. > > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/ > thanks for the info. I think I will check out squashfs then. But before that I wanted to fix the issue that I am seeing. There might be something wrong in my implementation? BTW I thought this was the right mailing list, since I am trying to mount cramfs image using MTD. Can you point me to the right mailing list?