On Mon, Mar 31, 2014 at 12:57:17AM +0100, Al Viro wrote: > On Mon, Mar 31, 2014 at 10:43:35AM +1100, Dave Chinner wrote: > > filldir on a directory inode vs page fault on regular file. Known > > issue, definitely a false positive. We have to change locking > > algorithms to avoid such deficiencies of lockdep (a case of "lockdep > > considered harmful", perhaps?) so it's not something I'm about to > > rush... > > Give i_lock on directories a separate class, as it's been done for i_mutex... Already done that. Commit: 93a8614 xfs: fix directory inode iolock lockdep false positive This just changes where the false positives come from. This insanity, for example, where shmem instantiates an inode in the page fault path and so triggers selinux related lockdep fun: http://oss.sgi.com/archives/xfs/2014-02/msg00618.html and this with reclaim state contexts: http://oss.sgi.com/archives/xfs/2014-03/msg00145.html I even hacked a patch to move the inode classes to per-fstype classes, and that just pushed the false positive somewhere else. It's just another horrible game of whack-a-mole, caused by XFS doing something different. The first possible fix: http://oss.sgi.com/archives/xfs/2014-03/msg00146.html is a bit of a big hammer approach, so the approach I'm looking at is the "don't cache mappings in readdir" solution noted here: http://oss.sgi.com/archives/xfs/2014-03/msg00163.html Note that the problem that the additional locking added in 3.13 resolved can not be triggered by anything using the VFS for directory access. The issues is that one of SGI's plug-ins (CXFS) can access directories without going through the VFS and so the internal XFS locking needs to serialise readdir vs directory modification safely.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs