On Wed, 1 Nov 2006 12:06:15 -0800 , Trevor Hamm <Trevor_Hamm@xxxxxxxxxxxxxx> wrote: > My investigation shows this behaviour was introduced between > 2.6.17.10 and 2.6.17.12 (2.6.17.11 failed to build, so I didn't test > that version). In fact, the patch below, applied against 2.6.17.10, > 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? skip_read: memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes); kunmap(page); flush_dcache_page(page); /* THIS */ SetPageUptodate(page); unlock_page(page); --- Atsushi Nemoto