[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFx7OY8X=s=oc5HUeWeA-5vWqkH+gcOV80xC=xXv9Q3AnQ@mail.gmail.com>
Date: Sat, 1 Aug 2015 09:09:24 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Dominique Martinet <asmadeus@...ewreck.org>,
Hugh Dickins <hughd@...gle.com>,
"J. Bruce Fields" <bfields@...ldses.org>,
Dominique Martinet <dominique.martinet@....fr>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
David Howells <dhowells@...hat.com>
Subject: Re: v4.2-rc dcache regression, probably 75a6f82a0d10
On Sat, Aug 1, 2015 at 12:26 AM, Al Viro <viro@...iv.linux.org.uk> wrote:
>
> Actually, the shit had hit the fan earlier. Look: in
> commit b18825a7c8e37a7cf6abb97a12a6ad71af160de7
> Author: David Howells <dhowells@...hat.com>
> Date: Thu Sep 12 19:22:53 2013 +0100
>
> VFS: Put a small type field into struct dentry::d_flags
>
> we have this:
>
> - if (!can_lookup(nd->inode)) {
> + if (!d_is_directory(nd->path.dentry)) {
Ahh. That's subtle, yes. Inodes are stable in ways that dentries
aren't. And the reason why Dominique bisected it to 4bf46a272647 would
seem to be that while dentries aren't really stable, the dentry flags
generally don't change. But dentry_iput() changed to actually clear
the type when clearing the inode, so that probably added a few cases
where it went from "stable in practice" to be more easily triggered.
Your patch looks obviously correct, with the slight worry that there
might be other cases of this.
> there. AFAICS, other places of that sort are not a problem anymore.
Al, do you plan a pull request? It would be good to get this into rc5
(tomorrow) regardless of whether there might be other issues lurking
too.
Linus
--
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