Re: VFS deadlock ?

From: Linus Torvalds
Date: Thu Mar 21 2013 - 16:15:17 EST


On Thu, Mar 21, 2013 at 12:29 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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;
}

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

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