Christoph Hellwig
2014-09-11 21:14:43 UTC
I just hit this with Linus' tree from a day or two ago when running
xfstests in my 64-bit x86 kvm VM:
[ 1810.820601] ------------[ cut here ]------------
[ 1810.821730] kernel BUG at ../fs/xfs/xfs_aops.c:1373!
[ 1810.822881] invalid opcode: 0000 [#1] SMP
[ 1810.823177] Modules linked in:
[ 1810.823177] CPU: 0 PID: 5324 Comm: 4980.fsstress.b Not tainted 3.17.0-rc4+ #266
[ 1810.823177] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[ 1810.823177] task: ffff88004fedc910 ti: ffff88000b340000 task.ti: ffff88000b340000
[ 1810.823177] RIP: 0010:[<ffffffff8150139b>] [<ffffffff8150139b>] __xfs_get_blocks+0x5cb/0x5d0
[ 1810.823177] RSP: 0018:ffff88000b343998 EFLAGS: 00010202
[ 1810.823177] RAX: ffff880079ddf580 RBX: 0000000000166000 RCX: ffff88004fedd0f8
[ 1810.823177] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000246
[ 1810.823177] RBP: ffff88000b343a38 R08: 0000000000000001 R09: 0000000000000000
[ 1810.823177] R10: 0000000000000000 R11: 00000000000785b0 R12: ffff88004863d9a0
[ 1810.823177] R13: ffff88004863d700 R14: ffff88000b343b50 R15: 0000000000000000
[ 1810.823177] FS: 00007ff4401c6700(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000
[ 1810.823177] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1810.823177] CR2: 00007ff4400c2008 CR3: 000000004fed3000 CR4: 00000000000006f0
[ 1810.823177] Stack:
[ 1810.823177] ffff88000b343a18 0000000000005000 ffff88000b3439c8 ffff880000000000
[ 1810.823177] ffff880000000008 0000000000000166 000188004ff2e940 0000000000005000
[ 1810.823177] ffff88000b343a18 0000000100000202 000000000000015e ffffffffffffffff
[ 1810.823177] Call Trace:
[ 1810.823177] [<ffffffff815013af>] xfs_get_blocks_direct+0xf/0x20
[ 1810.823177] [<ffffffff811f3ffe>] __blockdev_direct_IO+0x9ee/0x3340
[ 1810.823177] [<ffffffff815013a0>] ? __xfs_get_blocks+0x5d0/0x5d0
[ 1810.823177] [<ffffffff814ff7d0>] xfs_vm_direct_IO+0x130/0x150
[ 1810.823177] [<ffffffff815013a0>] ? __xfs_get_blocks+0x5d0/0x5d0
[ 1810.823177] [<ffffffff8117116a>] generic_file_read_iter+0x54a/0x610
[ 1810.823177] [<ffffffff810f5a8a>] ? mark_held_locks+0x6a/0x90
[ 1810.823177] [<ffffffff8150c6e9>] xfs_file_read_iter+0xf9/0x2b0
[ 1810.823177] [<ffffffff81193e3e>] ? might_fault+0x3e/0x90
[ 1810.823177] [<ffffffff811b9b69>] new_sync_read+0x79/0xb0
[ 1810.823177] [<ffffffff811bac6b>] vfs_read+0x9b/0x190
[ 1810.823177] [<ffffffff811baf11>] SyS_read+0x51/0xc0
[ 1810.823177] [<ffffffff81d9f6e9>] system_call_fastpath+0x16/0x1b
The BUG_ON is this one:
if (imap.br_startblock == DELAYSTARTBLOCK) {
BUG_ON(direct);
if (create) {
..
xfstests in my 64-bit x86 kvm VM:
[ 1810.820601] ------------[ cut here ]------------
[ 1810.821730] kernel BUG at ../fs/xfs/xfs_aops.c:1373!
[ 1810.822881] invalid opcode: 0000 [#1] SMP
[ 1810.823177] Modules linked in:
[ 1810.823177] CPU: 0 PID: 5324 Comm: 4980.fsstress.b Not tainted 3.17.0-rc4+ #266
[ 1810.823177] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[ 1810.823177] task: ffff88004fedc910 ti: ffff88000b340000 task.ti: ffff88000b340000
[ 1810.823177] RIP: 0010:[<ffffffff8150139b>] [<ffffffff8150139b>] __xfs_get_blocks+0x5cb/0x5d0
[ 1810.823177] RSP: 0018:ffff88000b343998 EFLAGS: 00010202
[ 1810.823177] RAX: ffff880079ddf580 RBX: 0000000000166000 RCX: ffff88004fedd0f8
[ 1810.823177] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000246
[ 1810.823177] RBP: ffff88000b343a38 R08: 0000000000000001 R09: 0000000000000000
[ 1810.823177] R10: 0000000000000000 R11: 00000000000785b0 R12: ffff88004863d9a0
[ 1810.823177] R13: ffff88004863d700 R14: ffff88000b343b50 R15: 0000000000000000
[ 1810.823177] FS: 00007ff4401c6700(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000
[ 1810.823177] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1810.823177] CR2: 00007ff4400c2008 CR3: 000000004fed3000 CR4: 00000000000006f0
[ 1810.823177] Stack:
[ 1810.823177] ffff88000b343a18 0000000000005000 ffff88000b3439c8 ffff880000000000
[ 1810.823177] ffff880000000008 0000000000000166 000188004ff2e940 0000000000005000
[ 1810.823177] ffff88000b343a18 0000000100000202 000000000000015e ffffffffffffffff
[ 1810.823177] Call Trace:
[ 1810.823177] [<ffffffff815013af>] xfs_get_blocks_direct+0xf/0x20
[ 1810.823177] [<ffffffff811f3ffe>] __blockdev_direct_IO+0x9ee/0x3340
[ 1810.823177] [<ffffffff815013a0>] ? __xfs_get_blocks+0x5d0/0x5d0
[ 1810.823177] [<ffffffff814ff7d0>] xfs_vm_direct_IO+0x130/0x150
[ 1810.823177] [<ffffffff815013a0>] ? __xfs_get_blocks+0x5d0/0x5d0
[ 1810.823177] [<ffffffff8117116a>] generic_file_read_iter+0x54a/0x610
[ 1810.823177] [<ffffffff810f5a8a>] ? mark_held_locks+0x6a/0x90
[ 1810.823177] [<ffffffff8150c6e9>] xfs_file_read_iter+0xf9/0x2b0
[ 1810.823177] [<ffffffff81193e3e>] ? might_fault+0x3e/0x90
[ 1810.823177] [<ffffffff811b9b69>] new_sync_read+0x79/0xb0
[ 1810.823177] [<ffffffff811bac6b>] vfs_read+0x9b/0x190
[ 1810.823177] [<ffffffff811baf11>] SyS_read+0x51/0xc0
[ 1810.823177] [<ffffffff81d9f6e9>] system_call_fastpath+0x16/0x1b
The BUG_ON is this one:
if (imap.br_startblock == DELAYSTARTBLOCK) {
BUG_ON(direct);
if (create) {
..