On Thu, May 27, 2010 at 08:21:38AM -0400, Christoph Hellwig wrote:
> On Thu, May 27, 2010 at 11:59:06AM +1000, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > We re-initialise the lockdep context for inode iolocks when dropping an
> > inode,
> > but not when we delete an inode. Now that we can reclaim inodes from a
> > shrinker,
> > we can get get false lockdep warnings about inode iolock inversions during
> > reclaim of deleted inodes. Hence we need to re-initialise the iolock in the
> > delete path as well.
> clear_inode also gets called when we delete an inode, so at least
> the rationale for this isn't quite right. It seems like we re-acquire
> new lockdep dependecies between clear_inode and destroy_inode that your
> shrinker doesn't like. What lockdep report do you see?
I'll have to regenerate it - I saw it a couple of times with the
current shrinker, and it went away with this patch. I'll put this
on hold for the moment.