Re: [RFC] Reinstate NFS exportability for JFFS2.

David Woodhouse
2008-08-05T08:59:48Z

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@intel.com Intel Corporation