Re: dio_get_page() lockdep complaints

From: Chris Mason
Date: Fri Nov 09 2007 - 14:37:57 EST


On Fri, 09 Nov 2007 11:16:53 -0800
Zach Brown <zach.brown@xxxxxxxxxx> wrote:

> > Ugh, I thought the preallocation was getting freed elsewhere, but it
> > looks like I was wrong. We can't just skip the i_mutex after all,
> > sorry.
>
> Ah, so none of those tests at the top will stop tail packing if
> there's been pre-allocation?
>
> Like, uh, the inode reference count test?
>

It always drops prealloc, regardless of i_count. One fix is to change
the prealloc routines to take/drop a reference on the inode.
preallocation is already dropped when the transaction ends, so things
would continue working.

-chris
-
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/