Re: Lockups with 2.4.14 and 2.4.16
Jan Kara (jack@suse.cz)
Fri, 14 Dec 2001 20:26:13 +0100
> On Friday, December 14, 2001 09:26:42 AM -0800 Andrew Morton
> <akpm@zip.com.au> wrote:
>
> >> So, this will hit any journaled FS that uses quotas and logs inodes under
> >> during a write. ext3 doesn't seem to do special things for quota anymore,
> >> so it should be affected too.
> >
> > mm.. most of the ext3 damage-avoidance hacks are around writepage().
>
> sct talked about how the ext3 data logging code allowed quotas to be
> consistent after a crash. Perhaps this was just in 2.2.x...
>
> >
> >> The only fix I see is to make sure kswapd doesn't run shrink_icache, and to
> >> have it done via a dedicated daemon instead. Does anyone have a better
> >> idea?
> >
> > Well, we already need to do something like that to prevent the
> > abuse of keventd in there. It appears that somebody had a
> > problem with deadlocks doing the inode writeout in kswapd but
> > missed the quota problem.
> >
> > Is it possible for the quota code to just bale out if PF_MEMALLOC
> > is set? To leave the dquot dirty?
>
> We could change prune_icache to skip inodes with dirty quota fields. It
> already skips dirty inodes, so this isn't a huge change.
Umm. I don't think it's good idea (at least with current state) - if any
data was written to inode, quota was dirtified and probably never written
so you're going to have *lots* of inodes with dirty quota... So you end up
freeing nothing.
I think that leaving writing of dquots on bdflush or some other thread
would be better solution...
Honza
--
Jan Kara <jack@suse.cz>
SuSE CR Labs
-
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/