Hi,

I have a torture test[1] that I run to test stable page writeback.  When I run
it against a btrfs (3.7.0-rc3) I observe the kernel bug messsage[2] that I've
attached at the end of this message.  The test program spawns a bunch of
threads, which try to rewrite file blocks either through mmap or through
regular pwrite calls.

I'll take a look at it tomorrow, but I was wondering if this caught anybody's
eye...

# gcc -o wac wac.c
# mount /dev/path/to/a/btrfs /mnt
# ./wac -l 65536 -n 32 -m 32 -f -r /mnt/victimfile
<wait a few seconds>
<kaboom>

--D

[1] http://djwong.org/docs/wac.c
[2] Double stack-trace:
[ 9713.768350] ------------[ cut here ]------------
[ 9713.773188] WARNING: at 
/storage/home/djwong/cdev/work/linux-spw/fs/btrfs/tree-log.c:3716 
btrfs_log_inode_parent+0x427/0x480 [btrfs]()
[ 9713.778876] Hardware name: Bochs
[ 9713.780877] Modules linked in: btrfs sd_mod scsi_debug ext4 mbcache jbd2 
scsi_mod sch_fq_codel nfsv4 eeprom nfsd auth_rpcgss exportfs af_packet raid1 
raid0 md_mod zlib_deflate libcrc32c [last unloaded: sd_mod]
[ 9713.786778] Pid: 1992, comm: wac Not tainted 3.7.0-rc3-spw #42
[ 9713.789183] Call Trace:
[ 9713.791102]  [<ffffffff8105210f>] warn_slowpath_common+0x7f/0xc0
[ 9713.793428]  [<ffffffff8105216a>] warn_slowpath_null+0x1a/0x20
[ 9713.795826]  [<ffffffffa030ad57>] btrfs_log_inode_parent+0x427/0x480 [btrfs]
[ 9713.798310]  [<ffffffff8117c97c>] ? dget_parent+0x1c/0xe0
[ 9713.800653]  [<ffffffffa030adf6>] btrfs_log_dentry_safe+0x46/0x70 [btrfs]
[ 9713.803149]  [<ffffffffa02e21c6>] btrfs_sync_file+0x1a6/0x240 [btrfs]
[ 9713.805626]  [<ffffffff81550f49>] ? sysret_check+0x22/0x5d
[ 9713.807861]  [<ffffffff8119705d>] do_fsync+0x5d/0x90
[ 9713.810077]  [<ffffffff812595ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 9713.812642]  [<ffffffff81197460>] sys_fsync+0x10/0x20
[ 9713.814793]  [<ffffffff81550f1d>] system_call_fastpath+0x1a/0x1f
[ 9713.817178] ---[ end trace 47f6b9aede5fa6f5 ]---
[ 9715.884354] ------------[ cut here ]------------
[ 9715.888197] kernel BUG at 
/storage/home/djwong/cdev/work/linux-spw/fs/btrfs/ctree.c:2950!
[ 9715.888197] invalid opcode: 0000 [#1] PREEMPT SMP 
[ 9715.888197] Modules linked in: btrfs sd_mod scsi_debug ext4 mbcache jbd2 
scsi_mod sch_fq_codel nfsv4 eeprom nfsd auth_rpcgss exportfs af_packet raid1 
raid0 md_mod zlib_deflate libcrc32c [last unloaded: sd_mod]
[ 9715.888197] CPU 0 
[ 9715.888197] Pid: 1990, comm: wac Tainted: G        W    3.7.0-rc3-spw #42 
Bochs Bochs
[ 9715.888197] RIP: 0010:[<ffffffffa02af5b9>]  [<ffffffffa02af5b9>] 
btrfs_set_item_key_safe+0x149/0x150 [btrfs]
[ 9715.888197] RSP: 0018:ffff880028735ae8  EFLAGS: 00010246
[ 9715.888197] RAX: 0000000000000000 RBX: 000000000000000f RCX: 000000000000e000
[ 9715.888197] RDX: 0000000000000000 RSI: ffff880028735c16 RDI: ffff880028735ac7
[ 9715.888197] RBP: ffff880028735b48 R08: 0000000000000c9e R09: ffff880028735b08
[ 9715.888197] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880016b62bf0
[ 9715.888197] R13: ffff880028735c16 R14: ffff880028735b07 R15: ffff8800293edbd0
[ 9715.888197] FS:  00007f3ffa3b3700(0000) GS:ffff88003fc00000(0000) 
knlGS:0000000000000000
[ 9715.888197] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 9715.888197] CR2: 00007f3ffa3b0fba CR3: 000000002872d000 CR4: 00000000000007f0
[ 9715.888197] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 9715.888197] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 9715.888197] Process wac (pid: 1990, threadinfo ffff880028734000, task 
ffff88002870de50)
[ 9715.888197] Stack:
[ 9715.888197]  ffff880028735b48 ffff88002f678000 ffff8800131c2000 
0100000000000000
[ 9715.888197]  6c00000000000001 000000000000e000 ffff880028735b48 
ffff8800293edbd0
[ 9715.888197]  ffff880016b62bf0 000000000000d000 0000000000000001 
0000000000000000
[ 9715.888197] Call Trace:
[ 9715.888197]  [<ffffffffa02e46e7>] __btrfs_drop_extents+0x557/0xb00 [btrfs]
[ 9715.888197]  [<ffffffffa0306fdd>] btrfs_log_changed_extents+0x5bd/0x610 
[btrfs]
[ 9715.888197]  [<ffffffffa02efff7>] ? free_extent_buffer+0x37/0x90 [btrfs]
[ 9715.888197]  [<ffffffffa0308efb>] btrfs_log_inode+0x50b/0x5b0 [btrfs]
[ 9715.888197]  [<ffffffff8117c9b8>] ? dget_parent+0x58/0xe0
[ 9715.888197]  [<ffffffffa030aac2>] btrfs_log_inode_parent+0x192/0x480 [btrfs]
[ 9715.888197]  [<ffffffff8117c97c>] ? dget_parent+0x1c/0xe0
[ 9715.888197]  [<ffffffffa030adf6>] btrfs_log_dentry_safe+0x46/0x70 [btrfs]
[ 9715.888197]  [<ffffffffa02e21c6>] btrfs_sync_file+0x1a6/0x240 [btrfs]
[ 9715.888197]  [<ffffffff81550f49>] ? sysret_check+0x22/0x5d
[ 9715.888197]  [<ffffffff8119705d>] do_fsync+0x5d/0x90
[ 9715.888197]  [<ffffffff812595ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 9715.888197]  [<ffffffff81197460>] sys_fsync+0x10/0x20
[ 9715.888197]  [<ffffffff81550f1d>] system_call_fastpath+0x1a/0x1f
[ 9715.888197] Code: 00 00 4c 89 f6 4c 89 e7 48 98 48 8d 04 80 48 8d 54 80 65 
e8 aa 1b 04 00 4c 89 ee 4c 89 f7 e8 2f f2 ff ff 85 c0 0f 8f 57 ff ff ff <0f> 0b 
0f 0b 0f 1f 00 66 66 66 66 90 55 48 b8 00 00 00 00 00 16 
[ 9715.888197] RIP  [<ffffffffa02af5b9>] btrfs_set_item_key_safe+0x149/0x150 
[btrfs]
[ 9715.888197]  RSP <ffff880028735ae8>
[ 9716.008975] ---[ end trace 47f6b9aede5fa6f6 ]---
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to