Commits
Pavel Emelianov authored b8617c8296d
[LOCKDEP] Another fix for virtualized filesystems lockdep As described before, filesystems in our kernels are no longer static objects and thus lockdep refuses to work. This was (wrongly) fixed by setting one static class for all super block's semaphores and locks. It turned out that different filesystems use different lock ordering for sb locks and some other ones, e.g. UDF may take inode->i_mutex under sb->s_lock, while ext3 takes sb->s_lock under inode->i_mutex. This is normal and doesn't create any deadlocks since super blocks are different. But lockdep detects a circular dependency in this case, as all super blocks are the same for him. This is solved by setting a class from filesystem type on super block like it was before, but for virtualized filesystems (e.g. procfs, devpts) the fs template is used.