On Thu, Mar 21, 2013 at 01:15:08PM -0700, Linus Torvalds wrote:
 > On Thu, Mar 21, 2013 at 12:29 PM, Al Viro <v...@zeniv.linux.org.uk> wrote:
 > >
 > > #0 oddity aside, that looks very much like directory aliased by two 
 > > different
 > > dentries.  Try to add
 > >         BUG_ON(p1->d_inode == p2->d_inode);
 > > just before
 > >         mutex_lock(&p1->d_inode->i_sb->s_vfs_rename_mutex);
 > > and see if it triggers.
 > 
 > Don't do a BUG_ON(), instead do something like
 > 
 >    if (WARN_ON_ONCE(p1->d_inode == p2->d_inode)) {
 >         printk("pi=%s p2=%s\n", pi->d_name, p2->d_name);
 >         mutex_lock_nested(&p1->d_inode->i_mutex, I_MUTEX_PARENT);
 >         return NULL;
 >    }

those are qstr's, so I used d_name.name, right ?

 > so that we actually see where it is. I'm assuming it's some sysfs oddity 
 > again..

I'd be surprised actually, I've got sysfs excluded from its list of victim 
files,
due to unrelated issues still unresolved.  So unless it followed a symlink into
sys from somewhere in /proc or /dev...

It took a few hours to reproduce last time, I'll increase the number of child
processes to see if I can trigger it faster now that I have the debug stuff in 
there.

        Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to