diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 20:11:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 20:11:13 -0500 |
commit | 29bd17af7d8ffc16bb5eb286947495c166ea826e (patch) | |
tree | 5c20c44b51bdb3573949d1dc23bc3d3927d759fa /fs/configfs/dir.c | |
parent | 2ba14a017a4ba8d2266316f481d4ad7400073d18 (diff) | |
parent | 2fe5c1d7eb88830b09c863a4b5b3279dc120f3af (diff) |
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits)
ocfs2: clean up bh null checks
ocfs2: document access rules for blocked_lock_list
configfs: file.c fix possible recursive locking
configfs: dir.c fix possible recursive locking
configfs: Remove EXPERIMENTAL
ocfs2: bump version number
ocfs2/dlm: Clear joining_node on hearbeat node down
ocfs2: convert byte order of constant instead of variable
ocfs2: Update default cluster timeouts
ocfs2: printf fixes
ocfs2: Use generic_file_llseek
ocfs2: Safer read_inline_data()
ocfs2: Silence false lockdep warnings
[PATCH 2/2] ocfs2: cluster aware flock()
[PATCH 1/2] ocfs2: add flock lock type
ocfs2: Local alloc window size changeable via mount option
ocfs2: Support commit= mount option
ocfs2: Add missing permission checks
[PATCH 2/2] ocfs2: Implement group add for online resize
[PATCH 1/2] ocfs2: Add group extend for online resize
...
Diffstat (limited to 'fs/configfs/dir.c')
-rw-r--r-- | fs/configfs/dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 50ed691098bc..a48dc7dd8765 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c | |||
@@ -546,7 +546,7 @@ static int populate_groups(struct config_group *group) | |||
546 | * That said, taking our i_mutex is closer to mkdir | 546 | * That said, taking our i_mutex is closer to mkdir |
547 | * emulation, and shouldn't hurt. | 547 | * emulation, and shouldn't hurt. |
548 | */ | 548 | */ |
549 | mutex_lock(&dentry->d_inode->i_mutex); | 549 | mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_CHILD); |
550 | 550 | ||
551 | for (i = 0; group->default_groups[i]; i++) { | 551 | for (i = 0; group->default_groups[i]; i++) { |
552 | new_group = group->default_groups[i]; | 552 | new_group = group->default_groups[i]; |
@@ -1405,7 +1405,8 @@ int configfs_register_subsystem(struct configfs_subsystem *subsys) | |||
1405 | sd = configfs_sb->s_root->d_fsdata; | 1405 | sd = configfs_sb->s_root->d_fsdata; |
1406 | link_group(to_config_group(sd->s_element), group); | 1406 | link_group(to_config_group(sd->s_element), group); |
1407 | 1407 | ||
1408 | mutex_lock(&configfs_sb->s_root->d_inode->i_mutex); | 1408 | mutex_lock_nested(&configfs_sb->s_root->d_inode->i_mutex, |
1409 | I_MUTEX_PARENT); | ||
1409 | 1410 | ||
1410 | name.name = group->cg_item.ci_name; | 1411 | name.name = group->cg_item.ci_name; |
1411 | name.len = strlen(name.name); | 1412 | name.len = strlen(name.name); |