[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090820143207.GB6389@nowhere>
Date: Thu, 20 Aug 2009 16:32:09 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: Laurent Riffard <laurent.riffard@...e.fr>
Cc: Kernel development list <linux-kernel@...r.kernel.org>,
ReiserFS Mailing List <reiserfs-devel@...r.kernel.org>
Subject: Re: linux-next: reiserfs lockout with xattr ?
On Mon, Aug 10, 2009 at 10:08:26PM +0200, Laurent Riffard wrote:
> Le 10/08/2009 01:33, Frederic Weisbecker a écrit :
> >
> > Thanks a lot for this report. Reiserfs xattrs are definetly paths I
> > haven't tested deeply.
> >
> > I'm trying to reproduce these issues and will let you know once I get
> > a fix.
> >
> > (Btw, if you're still running this tree, you should update with the
> > latest patch I just pushed, it's a very important fix).
> >
> > Thanks,
> >
> > Frederic.
>
> I tried with your lastest patch (git head is at "kill-the-bkl/reiserfs:
> fix early readdir offset increment"), and the lockout still happens.
>
> ~~
> laurent
Ok, it looks like the last two patches in my tree have introduced a locking
inversion dependency between the reiserfs write lock and mm->mmap_sem.
In filldir, we take the reiserfs lock and we might take mm->mmap_sem if
we fault while copying the dir entry to the user.
In mmap, the mm->mmap_sem is taken before the call to the fs mmap callback
and there we take the reiserfs lock.
Locking inversion: AB - BA
What is really sad here is that I have no choice: I can't take the reiserfs lock
while filling a dir entry to the user.
This part, introduced in the last two patches of the tree optimized a lot
the throughput, and now I have to revert them :-(
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists