xfs-masters
[Top] [All Lists]

[Bug 13375] Kernel crash with 2.6.29 + nfs + xfs (radix-tree)

To: xfs-masters@xxxxxxxxxxx
Subject: [Bug 13375] Kernel crash with 2.6.29 + nfs + xfs (radix-tree)
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Fri, 12 Jun 2009 16:32:37 GMT
Auto-submitted: auto-generated
In-reply-to: <bug-13375-470@xxxxxxxxxxxxxxxxxxxxxxxx/>
References: <bug-13375-470@xxxxxxxxxxxxxxxxxxxxxxxx/>
http://bugzilla.kernel.org/show_bug.cgi?id=13375


Stephane <sharnois@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sharnois@xxxxxxxxx




--- Comment #8 from Stephane <sharnois@xxxxxxxxx>  2009-06-12 16:32:35 ---
can this fix the bug? fs/nfs/write.c gets the lock on the inode before calling 
radix_tree_tag_set. I'll test it since I can reproduce the issue.

--- linux-orig/fs/xfs/xfs_vnodeops.c    2009-06-12 11:45:09.841788774 -0400
+++ linux/fs/xfs/xfs_vnodeops.c 2009-06-12 11:47:11.525856430 -0400
@@ -2702,13 +2702,14 @@
         * that has a linux inode being reclaimed. Synchronisation is provided
         * by the i_flags_lock.
         */
+       xfs_ilock(ip, XFS_ILOCK_EXCL);
        if (!ip->i_update_core && (ip->i_itemp == NULL)) {
-               xfs_ilock(ip, XFS_ILOCK_EXCL);
                xfs_iflock(ip);
                xfs_iflags_set(ip, XFS_IRECLAIMABLE);
                return xfs_reclaim_inode(ip, 1, XFS_IFLUSH_DELWRI_ELSE_SYNC);
        }
        xfs_inode_set_reclaim_tag(ip);
+       xfs_iunlock(ip, XFS_ILOCK_EXCL);
        return 0;
 }


kernel BUG at lib/radix-tree.c:485!
Jun 11 18:23:50 sledge_a kernel: invalid opcode: 0000 [#1] SMP 
Jun 11 18:23:50 sledge_a kernel: last sysfs file:
/sys/class/scsi_host/host0/proc_name
Jun 11 18:23:50 sledge_a kernel: Modules linked in: iptable_filter ip_tables
x_tables ipmi_devintf ipmi_si ipmi_msghandler dell_rbu drbd nfsd lockd nfs_acl
auth_rpcgss sunr
pc autofs4 i2c_dev i2c_core rdma_ucm rdma_cm iw_cm ib_addr mptctl
dm_round_robin dm_multipath mptscsih mptbase scsi_transport_fc ehci_hcd
uhci_hcd usbcore ib_mthca iTCO_wdt
 ib_ipoib ib_umad ib_ucm ib_uverbs ib_cm ib_sa ib_mad ib_core myri10ge inet_lro
tg3 libphy bnx2 zlib_inflate crc32 bonding ata_piix libata dm_snapshot dm_zero
dm_mirror dm_
region_hash dm_log dm_mod megaraid_sas [last unloaded: x_tables]
Jun 11 18:23:50 sledge_a kernel: 
Jun 11 18:23:50 sledge_a kernel: Pid: 283, comm: kswapd0 Not tainted
(2.6.29.3-3.7.00_3030MAXT #1) PowerEdge 2900
Jun 11 18:23:50 sledge_a kernel: EIP: 0060:[<c038ad75>] EFLAGS: 00010246 CPU: 2
Jun 11 18:23:50 sledge_a kernel: EIP is at radix_tree_tag_set+0x95/0xa0
Jun 11 18:23:50 sledge_a kernel: EAX: 00000000 EBX: 00000001 ECX: ee850b90 EDX:
00000035
Jun 11 18:23:50 sledge_a kernel: ESI: 00000000 EDI: 00000000 EBP: f484fe18 ESP:
f484fdfc
Jun 11 18:23:50 sledge_a kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Jun 11 18:23:50 sledge_a kernel: Process kswapd0 (pid: 283, ti=f484e000
task=f503f500 task.ti=f484e000)
Jun 11 18:23:50 sledge_a kernel: Stack:
Jun 11 18:23:50 sledge_a kernel:  00000000 00000000 00000035 ef3c348c ef3c3454
e02d8f00 00000000 f484fe2c
Jun 11 18:23:50 sledge_a kernel:  c03633f8 e02d8f00 e02d9024 f484fe94 f484fe38
c03556d6 e02d9024 f484fe50
Jun 11 18:23:50 sledge_a kernel:  c03618cd 00000007 f484fe54 c023bd6f e02d9024
f484fe5c c02926f3 e02d902c
Jun 11 18:23:50 sledge_a kernel: Call Trace:
Jun 11 18:23:50 sledge_a kernel:  [<c03633f8>] ?
xfs_inode_set_reclaim_tag+0x78/0xb0
Jun 11 18:23:50 sledge_a kernel:  [<c03556d6>] ? xfs_reclaim+0x46/0xa0
Jun 11 18:23:50 sledge_a kernel:  [<c03618cd>] ? xfs_fs_destroy_inode+0x2d/0x50
Jun 11 18:23:50 sledge_a kernel:  [<c023bd6f>] ? wake_up_bit+0x1f/0x30
Jun 11 18:23:50 sledge_a kernel:  [<c02926f3>] ? destroy_inode+0x23/0x40
Jun 11 18:23:50 sledge_a kernel:  [<c02929de>] ? dispose_list+0x6e/0xe0
Jun 11 18:23:50 sledge_a kernel:  [<c0292c93>] ? prune_icache+0xd3/0x1f0
Jun 11 18:23:50 sledge_a kernel:  [<c0292dc7>] ? shrink_icache_memory+0x17/0x40
Jun 11 18:23:50 sledge_a kernel:  [<c0262229>] ? shrink_slab+0x139/0x1d0
Jun 11 18:23:50 sledge_a kernel:  [<c0263fff>] ? balance_pgdat+0x24f/0x3e0
Jun 11 18:23:50 sledge_a kernel:  [<c0262d10>] ? isolate_pages_global+0x0/0x70
Jun 11 18:23:50 sledge_a kernel:  [<c0264225>] ? kswapd+0x95/0xd0
Jun 11 18:23:50 sledge_a kernel:  [<c023bc60>] ?
autoremove_wake_function+0x0/0x50
Jun 11 18:23:50 sledge_a kernel:  [<c023bc60>] ?
autoremove_wake_function+0x0/0x50
Jun 11 18:23:50 sledge_a kernel:  [<c0223196>] ? complete+0x46/0x60
Jun 11 18:23:50 sledge_a kernel:  [<c0264190>] ? kswapd+0x0/0xd0
Jun 11 18:23:51 sledge_a kernel:  [<c023b5d4>] ? kthread+0x64/0xa0
Jun 11 18:23:51 sledge_a kernel:  [<c023b570>] ? kthread+0x0/0xa0
Jun 11 18:23:51 sledge_a kernel:  [<c0203a0b>] ? kernel_thread_helper+0x7/0x1c
Jun 11 18:23:51 sledge_a kernel: Code: cf 85 ff 74 1c 8b 4d e8 ba 01 00 00 00
83 c1 15 d3 e2 8b 4d f0 8b 41 04 85 c2 75 05 09 d0 89 41 04 83 c4 10 89 f8 5b
5e 5f 5d c3 <0f>
 0b eb fe 0f 0b eb fe 8d 76 00 55 89 e5 57 89 d7 56 31 f6 53 
Jun 11 18:23:51 sledge_a kernel: EIP: [<c038ad75>] radix_tree_tag_set+0x95/0xa0
SS:ESP 0068:f484fdfc
Jun 11 18:23:51 sledge_a kernel: ---[ end trace 9be37bfd1c72c797 ]---

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

<Prev in Thread] Current Thread [Next in Thread>