lkml.org 
[lkml]   [2004]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] fix inode state corruption (2.6.8-rc1-bk1)
From
Date

Andrew Morton <akpm@osdl.org> wrote:
>
> Miklos Szeredi <miklos@szeredi.hu> wrote:
> >
> > This patch fixes a hard-to-trigger condition, where the inode is on
> > the inode_in_use list while it's state is dirty. In this state dirty
> > pages are not written back in sync() or from kupdate, only from direct
> > page reclaim. And this causes a livelock in balance_dirty_pages after
> > a while.
>
> How ghastly.
>
> Why did you make the list movement conditional on non-zero `wait'?

Because, I think this particular case can only happen in sync
writeback. Otherwise the inode_lock is not released in
__writeback_single_inode so the inode must be on the s_io list. I
don't see wheter it makes any difference performance-wise whether the
inode is left on s_io or unconditionally moved to s_dirty, but this is
the smaller change.

Miklos
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.041 / U:1.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site