Messages in this thread | | | Date | Thu, 21 Mar 2013 21:26:17 +0000 | From | Al Viro <> | Subject | Re: VFS deadlock ? |
| |
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...
| |