On Mon, Dec 03, 2012 at 05:42:13PM -0600, Mark Tinguely wrote: > From: Alex Elder <elder@xxxxxxxxxxxxx> > > Upstream commit: ad637a10f444fc66b1f6d4a28fe30d4c61ed0161 > > At the end of xfs_reclaim_inode(), the inode is locked in order to > we wait for a possible concurrent lookup to complete before the > inode is freed. This synchronization step was taking both the ILOCK > and the IOLOCK, but the latter was causing lockdep to produce > reports of the possibility of deadlock. > > It turns out that there's no need to acquire the IOLOCK at this > point anyway. It may have been required in some earlier version of > the code, but there should be no need to take the IOLOCK in > xfs_iget(), so there's no (longer) any need to get it here for > synchronization. Add an assertion in xfs_iget() as a reminder > of this assumption. > > Dave Chinner diagnosed this on IRC, and Christoph Hellwig suggested > no longer including the IOLOCK. I just put together the patch. > > Signed-off-by: Alex Elder <elder@xxxxxxxxxxxxx> > Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Signed-off-by: Ben Myers <bpm@xxxxxxx> I'm not sure we should be changing this just to keep lockdep quiet. I'd prefer we don't make random locking changes to the stable kernels.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs