User: Password:
|
|
Subscribe / Log in / New account

Re: VFS deadlock ?

From:  Al Viro <viro-AT-ZenIV.linux.org.uk>
To:  Linus Torvalds <torvalds-AT-linux-foundation.org>
Subject:  Re: VFS deadlock ?
Date:  Thu, 21 Mar 2013 21:26:17 +0000
Message-ID:  <20130321212617.GA21522@ZenIV.linux.org.uk>
Cc:  Dave Jones <davej-AT-redhat.com>, Linux Kernel <linux-kernel-AT-vger.kernel.org>
Archive-link:  Article

On Thu, Mar 21, 2013 at 02:18:15PM -0700, Linus Torvalds wrote:
> On Thu, Mar 21, 2013 at 2:02 PM, Dave Jones <davej@redhat.com> wrote:
> >
> > here we go...
> >
> > WARNING: at fs/namei.c:2335 lock_rename+0x156/0x160()
> > p1=irda p2=irda
> 
> Ok, good. I ssupect it's /proc or /sys, we do have that entry there.
> 
> But in fact I suspect we do want the parent name after all, because I
> think we have multiple "irda" directories. There's the one in
> /proc/net/ (added by net/irda/irproc.c), and there's a sysctl  CTL_DIR
> "irda" directory (kernel/sysctl_binary.c). And there might even be a
> few other ones in /sys too, thanks to the ldisc called "irda" etc.
> 
> I don't see where the shared inode comes from, but I suspect that
> would be easier to guess if we actually see which particular case it
> ends up being..

Well, something like
	static char path[4096];
	d_absolute_path(p1, path, 4096);
	printk(KERN_ERR "%s %s %d %d"
		path, p1->d_sb->s_type->name, d_unlinked(p1), d_unlinked(p2));
might be useful - pathname within fs, fs type and which of those suckers are
unlinked...


(Log in to post comments)


Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds