On Wed, 1 Nov 2006 12:06:15 -0800 , Trevor Hamm <Trevor_Hamm@pmc-sierra.com>
> My investigation shows this behaviour was introduced between
> 220.127.116.11 and 18.104.22.168 (22.214.171.124 failed to build, so I didn't test
> that version). In fact, the patch below, applied against 126.96.36.199,
> is sufficient to cause the boot problem. The bulk of this patch
> includes a fix from Aug. 31, 2006 for dcache aliasing on fork. If I
> exclude the dcache aliasing fix from this patch, the boot problem
> apparently disappears.
> Some more interesting details:
> - We're using a squashfs root filesystem in RAM (squashfs 3.1-r2).
> We have not been able to reproduce with cramfs.
If dcache aliasing patch caused this problem, it might be due to
missing flush_dcache_page() in squashfs.
With a quick look at squashfs/inode.c, it seems flush_dcache_page() is
needed at end of squashfs_symlink_readpage() as other functions.
Could you try it?
memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
flush_dcache_page(page); /* THIS */