On Mon, May 26, 2014 at 04:27:03PM +0100, Al Viro wrote: > Do these livelocks keep happening indefinitely, once triggered? IOW, > is that a buggered state of dcache and/or kernfs, or is it a transient pileup > that happens when we invalidate a subtree there? Could you slap if (dentry->d_sb->s_magic == SYSFS_MAGIC) { printk(KERN_INFO "killing %p4d", dentry); WARN_ON(1); } in the very beginning of dentry_kill(), if (dentry->d_sb->s_magic == SYSFS_MAGIC) { printk(KERN_INFO "invalidate %p4d", dentry); WARN_ON(1); } right after the if (!dentry->d_inode) { d_drop(dentry); goto out; } in check_submounts_and_drop(), reproduce that shite and see what gets into the log between USB disconnect and soft lockup? Warning: it will produce an obscene amount of output. If it gets _really_ excessive (as in "can't even get through the boot without drowning in syslog traffic"), we could add a sysctl turning those on, but let's try and see if it's survivable in that form first... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html