Commit 1e89a5e1 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Linus Torvalds

lockdep: fixup the inode dir annotation

A slight oversight tripped lockdep debugging code, each lockdep
class should have but a single init site.

Rearange the code to make this true.
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e744fdea
...@@ -568,16 +568,16 @@ EXPORT_SYMBOL(new_inode); ...@@ -568,16 +568,16 @@ EXPORT_SYMBOL(new_inode);
void unlock_new_inode(struct inode *inode) void unlock_new_inode(struct inode *inode)
{ {
#ifdef CONFIG_DEBUG_LOCK_ALLOC #ifdef CONFIG_DEBUG_LOCK_ALLOC
struct file_system_type *type = inode->i_sb->s_type; if (inode->i_mode & S_IFDIR) {
/* struct file_system_type *type = inode->i_sb->s_type;
* ensure nobody is actually holding i_mutex
*/ /*
mutex_destroy(&inode->i_mutex); * ensure nobody is actually holding i_mutex
mutex_init(&inode->i_mutex); */
if (inode->i_mode & S_IFDIR) mutex_destroy(&inode->i_mutex);
mutex_init(&inode->i_mutex);
lockdep_set_class(&inode->i_mutex, &type->i_mutex_dir_key); lockdep_set_class(&inode->i_mutex, &type->i_mutex_dir_key);
else }
lockdep_set_class(&inode->i_mutex, &type->i_mutex_key);
#endif #endif
/* /*
* This is special! We do not need the spinlock * This is special! We do not need the spinlock
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment