Re: [Jfs-discussion] [Bug 9291] pdflush stuck in D state with v2.6.24-rc1-192-gef49c32
Brought to you by:
blaschke-oss,
shaggyk
From: Fengguang Wu <wf...@ma...> - 2007-12-26 12:17:10
|
On Mon, Dec 24, 2007 at 03:13:56PM +0800, Fengguang Wu wrote: > On Mon, Dec 24, 2007 at 10:25:53AM +0800, Fengguang Wu wrote: > > On Sun, Dec 23, 2007 at 10:35:45AM -0800, bug...@bu... wrote: > > > http://bugzilla.kernel.org/show_bug.cgi?id=9291 > > > > Hmm, I just tried JFS on LVM - still OK. > > It seems not related to LVM. > > I can now reproduce the bug on JFS with the following command: > > debootstrap --arch i386 etch /mnt/jfs http://debian.ustc.edu.cn/debian > > It's a rather compound procedure, but I just cannot trigger the bug through > simple operations like cp/concatenate/truncate ... > > The symptoms: > > - one pdflush stuck in D state: > > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 321 0.0 0.0 0 0 ? D 13:45 0:01 [pdflush] > root 15397 0.0 0.0 0 0 ? S 14:21 0:00 [pdflush] It was confirmed that the source of this bug lies in metapage_writepage(): if (!mp || !test_bit(META_dirty, &mp->flag)) continue; That logic skips the following line: set_page_writeback(page); which should be called to clear the PAGECACHE_TAG_DIRTY tag. The META_dirty bit could be cleared in several places, e.g. __invalidate_metapages(). Any ideas about a solution? |