http://bugzilla.kernel.org/show_bug.cgi?id=13369 Eric Sandeen <sandeen@xxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sandeen@xxxxxxxxxx --- Comment #2 from Eric Sandeen <sandeen@xxxxxxxxxx> 2009-05-23 15:06:18 --- This is: static int ext4_normal_writepage(struct page *page, struct writeback_control *wbc) { ... if (page_has_buffers(page)) { /* if page has buffers it should all be mapped * and allocated. If there are not buffers attached * to the page we know the page is dirty but it lost * buffers. That means that at some moment in time * after write_begin() / write_end() has been called * all buffers have been clean and thus they must have been * written at least once. So they are all mapped and we can * happily proceed with mapping them and writing the page. */ BUG_ON(walk_page_buffers(NULL, page_buffers(page), 0, len, NULL, ext4_bh_unmapped_or_delay)); } Does ktorrent preallocate space? You might try turning that off to see if it goes away, as a hint. I can't look at this much today, it's my birthday and I'm going to have some non-computer fun. ;) If you want, you could modify the test in ext4_normal_writepage() at this spot to something like: if (page_has_buffers(page)) { /* * (big comment deleted) */ if (walk_page_buffers(NULL, page_buffers(page), 0, len, NULL, ext4_bh_unmapped_or_delay)) { struct buffer_head *bh; bh = (struct buffer_head *)page_private(page); printk("bh state 0x%x\n", bh->b_state); BUG(); } } so that we'd see the actual buffer head state that was wrong. (this assumes you have page-sized blocks; most likely true, if you have 4k blocks, which is the mkfs default) -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html