Re: [EXT4 set 5][PATCH 1/1] expand inode i_extra_isize to supportfeatures in larger inode

From: Andrew Morton
Date: Fri Jul 13 2007 - 05:06:24 EST


On Tue, 10 Jul 2007 16:32:47 -0700 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> > + brelse(bh);
> > + up_write(&EXT4_I(inode)->xattr_sem);
> > + return error;
> > +}
> > +
>
> We're doing GFP_KERNEL memory allocations while holding xattr_sem. This
> can cause the VM to reenter the filesystem, perhaps taking i_mutex and/or
> i_truncate_sem and/or journal_start() (I forget whether this still
> happens). Have we checked whether this can occur and if so, whether we are
> OK from a lock ranking POV? Bear in mind that journalled-data mode is more
> complex in this regard.

I notice that everyone carefully avoided addressing this ;)

Oh well, hopefully people are testing with lockdep enabled. As long
as the fs is put under extreme memory pressure, most bugs should be reported.

Except lockdep doesn't know about journal_start(), which has ranking
requirements similar to a semaphore. Nor does it know about lock_page().
We already have hard-to-hit but deadlockable bugs in this area.


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