"Thomas S. Iversen" <zensonic@xxxxxxxxxxx> wrote: > > But if I do > > dd if=/dev/zero of=/mnt/testfile count=N, N>6 > > I get into an endless loop in __find_get_block_slow. The only way in which __find_get_block_slow() can loop is if something wrecked the buffer_head ring at page->private: something caused an internal loop via bh->b_this_page. Are you sure that's where things are hanging? That it's not stuck on a spinlock? A sysrq-P trace might help.