[PATCH] Inode reclaim fixes (was Re: 2.6.31 xfs_fs_destroy_inode: cannot reclaim)
Patrick Schreurs
patrick at news-service.com
Wed Feb 10 06:42:57 CST 2010
On 9-2-2010 11:31, Christoph Hellwig wrote:
> On Tue, Feb 09, 2010 at 09:48:38AM +0100, Patrick Schreurs wrote:
>> This is a clean 2.6.32.3 with the xfs-inode-reclaim-2.6.32 patch i
>> received from Dave on January 8th (see attachment).
>
> I can't find anything interesting regarding I_RECLAIMABLE manipulation
> in there. The only thing I could think off going wrong is i_flags
> and i_update_core sitting in the same word and the compiler causing
> some read-modify-write cycles for it. Can you test the patch below?
> It fixes the abose issue up, and to make sure sure the assert you hit
> isn't as lethal changes it into a WARN_ON, which will still print the
> backtrace, but not crash the machine.
Thanks for the patch. After having this patch applied we saw *a lot*
warnings. They all look like this:
Feb 10 13:20:38 sb06 kernel: ------------[ cut here ]------------
Feb 10 13:20:38 sb06 kernel: WARNING: at fs/xfs/linux-2.6/xfs_sync.c:768
xfs_reclaim_inode_now+0x3d/0x84()
Feb 10 13:20:38 sb06 kernel: Hardware name: PowerEdge 1950
Feb 10 13:20:38 sb06 kernel: Modules linked in: acpi_cpufreq
cpufreq_ondemand ipmi_si ipmi_devintf ipmi_msghandler bonding mptspi
serio_raw rng_core scsi_transport_spi bnx2 thermal processor thermal_sys
Feb 10 13:20:38 sb06 kernel: Pid: 3145, comm: xfssyncd Not tainted
2.6.32.3 #2
Feb 10 13:20:38 sb06 kernel: Call Trace:
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ?
xfs_reclaim_inode_now+0x3d/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ?
xfs_reclaim_inode_now+0x3d/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8102e8c9>] ?
warn_slowpath_common+0x77/0xa3
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ?
xfs_reclaim_inode_now+0x3d/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b130>] ?
xfs_inode_ag_walk+0x68/0xa2
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ?
xfs_reclaim_inode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>] ?
xfs_inode_ag_iterator+0x50/0x7e
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ?
xfs_reclaim_inode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b224>] ?
xfs_sync_worker+0x26/0x52
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113aa79>] ? xfssyncd+0x123/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a956>] ? xfssyncd+0x0/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f5cd>] ? kthread+0x79/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcda>] ? child_rip+0xa/0x20
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f554>] ? kthread+0x0/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcd0>] ? child_rip+0x0/0x20
Feb 10 13:20:38 sb06 kernel: ---[ end trace 1ae862ca12666a87 ]---
and some look like this:
Feb 10 13:20:38 sb06 kernel: ------------[ cut here ]------------
Feb 10 13:20:38 sb06 kernel: WARNING: at fs/xfs/linux-2.6/xfs_sync.c:768
xfs_reclaim_inode_now+0x3d/0x84()
Feb 10 13:20:38 sb06 kernel: Hardware name: PowerEdge 1950
Feb 10 13:20:38 sb06 kernel: Modules linked in: acpi_cpufreq
cpufreq_ondemand ipmi_si ipmi_devintf ipmi_msghandlerspes 13<f3dat?
ff4ode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>]n2r4a
2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_n]n2r4a
2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_n]n2r4a
2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_n]n2r4a
2f1>nx85k7[<4x0-[e :7we_ospies 13<f3dat? ff4ode]n2r4a
2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffff]n2r4a 2f1>nx85k7[<4x0-[e
:7we_ospes 13<ode_]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
ff4ode_now+0x0/0]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
ff4ode_now+0x0/0x]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
ff4ode_no]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<fff]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes
13<f3dat? ff4ode_now+]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
ff4>ode_no]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
xff4ode_now+]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat?
xff4ode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>] ?
xfs_inode_ag_iterator+0x50/0x7e
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ?
xfs_reclaim_inode_now+0x0/0x84
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b224>] ?
xfs_sync_worker+0x26/0x52
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113aa79>] ? xfssyncd+0x123/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a956>] ? xfssyncd+0x0/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f5cd>] ? kthread+0x79/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcda>] ? child_rip+0xa/0x20
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f554>] ? kthread+0x0/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcd0>] ? child_rip+0x0/0x20
Feb 10 13:20:38 sb06 kernel: ---[ end trace 1ae862ca12666b1c ]---
I hope this clarifies things. If you need more info, don't hesitate to
contact me.
Thanks,
-Patrick
More information about the xfs
mailing list