On 2015-10-14 at 13:05 +0300, Ivan Shapovalov wrote: > On 2015-10-12 at 11:07 +0200, Edward Shishkin wrote: > > [...] > > So, I've added three non-fatal checks right before > set_page_writeback(): > - PageDirty(pg) > - JF_ISSET(cur, JNODE_DIRTY) > - pg->mapping->host->i_wb != NULL > > In almost all times when either of the checks is triggered, > the first two checks are triggered at once (i. e. neither page nor > jnode is dirty, but i_wb is not NULL). This happens with both > formatted > nodes (jnode_is_znode), unformatted nodes (jnode_is_unformatted) and > other nodes. > > And, finally, there are very few warnings where jnode _is_ dirty, but > the page _isn't_. On the first such warning i_wb is also NULL. And, > just as you've suspected, this happens with an unformatted node. > > I'll try to add a backtrace buffer into struct jnode and generate a > backtrace there on each jnode dirtying attempt... and then print it > for > the problematic jnode. > So, here it is. On all occurrences the backtrace is the same. Oct 14 13:51:54 intelfx-laptop kernel: reiser4[xdg-user-dirs-g(2040)]: write_jnodes_to_disk_extent (fs/reiser4/wander.c:807)[intelfx-8888]: WARNING: on writeback: jnode (unformatted): BAD-PAGE BAD-INODE-i_wb Oct 14 13:51:54 intelfx-laptop kernel: BAD-INODE-i_wb, stacktrace of last jnode dirtying follows: [<ffffffff8101119a>] save_stack_trace+0x2a/0x50 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc03a5e6f>] jnode_make_dirty_locked+0xcf/0x770 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc04550a1>] insert_first_extent+0x211/0x610 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc0458c21>] reiser4_update_extent+0xe1/0x300 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc0402125>] find_or_create_extent+0xa5/0x800 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc040733b>] replace+0x11b/0x290 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc040825a>] tail2extent+0x66a/0xcc0 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc03ffe51>] unpack.isra.6+0x121/0x270 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc040516d>] mmap_unix_file+0x12d/0x1c0 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffffc040bb9e>] reiser4_mmap_dispatch+0x7e/0x320 [reiser4] Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81118131>] mmap_region+0x3d1/0x670 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81118723>] do_mmap_pgoff+0x353/0x400 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81103861>] vm_mmap_pgoff+0x71/0xc0 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81116c3d>] SyS_mmap_pgoff+0x1dd/0x250 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81008406>] SyS_mmap+0x16/0x20 Oct 14 13:51:54 intelfx-laptop kernel: [<ffffffff81463e17>] entry_SYSCALL_64_fastpath+0x12/0x6a -- Ivan Shapovalov / intelfx /
Attachment:
signature.asc
Description: This is a digitally signed message part