On Tue, 2008-08-05 at 18:51 +1000, Dave Chinner wrote: > On Mon, Aug 04, 2008 at 02:19:12AM -0400, Chuck Lever wrote: > > So, the JFFS2 locking problem is a garbage-collection issue. I'm not > > sure this is the case with other file systems like XFS and OCFS2. My > > impression was that XFS had a transaction logging deadlock, > > Just to clarify - XFS has a directory buffer lock deadlock. That is, > while reading the contents of the directory buffer it is locked to > prevent modifications from occurring while extracting the contents. > Looking up an entry in the directory also requires the directory > buffer lock (for the same reason), so calling the lookup while > already holding the directory buffer lock (i.e from the filldir > callback) will deadlock. But if we had a ->lookup_locked() or ->lookup_fh() method which is _guaranteed_ to be called from within your ->readdir(), you could manage to bypass that locking and avoid the deadlock? -- David Woodhouse Open Source Technology Centre David.Woodhouse@xxxxxxxxx Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html