On Sat, Mar 15, 2008 at 12:58:02AM +0100, Christian Kujau wrote:False positive. Memory reclaim can inverts the order of iprune_mutex and the normal inode locking orders. i.e. Both of these are possible: do_something() enter memory reclaim iprune_mutex inode lock or do_something() inode lock do_something_else enter memory reclaim iprune_mutex inode lock on different inode So depending on what is seen first (in this case the first), the second will trip lockdep. Neither are a deadlock, because the inode lock held before memory reclaim is a referenced inode and will *never* be on the free list for memory reclaim to deadlock on.... Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group --
