Red Hat Enterprise Linux 6.2 で nfs_file_flush() の最中に NFSv4 共有がハングする
Issue
- NFS 共有と相互作用しているタスクがハングし、以下のコールトレースが記録されます。
INFO: task echo:23531 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
echo D 0000000000000000 0 23531 23298 0x00000080
ffff880037a71c78 0000000000000082 ffff880037a71bf8 ffffffffa0473200
ffff8801395819c0 ffff880139a05f40 ffff880037000001 ffffffff81125f77
ffff880083fd3038 ffff880037a71fd8 000000000000f4e8 ffff880083fd3038
Call Trace:
[<ffffffff81125f77>] ? write_cache_pages+0x117/0x4a0
[<ffffffff8109b809>] ? ktime_get_ts+0xa9/0xe0
[<ffffffff81110b10>] ? sync_page+0x0/0x50
[<ffffffff814ed1e3>] io_schedule+0x73/0xc0
[<ffffffff81110b4d>] sync_page+0x3d/0x50
[<ffffffff814edb9f>] __wait_on_bit+0x5f/0x90
[<ffffffff81110d03>] wait_on_page_bit+0x73/0x80
[<ffffffff81090c30>] ? wake_bit_function+0x0/0x50
[<ffffffff811271a5>] ? pagevec_lookup_tag+0x25/0x40
[<ffffffff8111111b>] wait_on_page_writeback_range+0xfb/0x190
[<ffffffff81126351>] ? do_writepages+0x21/0x40
[<ffffffff8111126b>] ?__filemap_fdatawrite_range+0x5b/0x60
[<ffffffff811112e8>] filemap_write_and_wait_range+0x78/0x90
[<ffffffff811a540e>] vfs_fsync_range+0x7e/0xe0
[<ffffffff811a54dd>] vfs_fsync+0x1d/0x20
[<ffffffffa04385d0>] nfs_file_flush+0x70/0xa0 [nfs]
[<ffffffff811739ec>] filp_close+0x3c/0x90
[<ffffffff81173ae5>] sys_close+0xa5/0x100
[<ffffffff8100b0f2>] system_call_fastpath+0x16/0x1b
Environment
- Red Hat Enterprise Linux 6.2
- NFSv4 クライアント
- カーネル 2.6.32-220.el6 で発生
- 委譲が有効になっている NFSv4 サーバー
- Solaris NFS Server で発生
- NFSv3 には影響しない
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.