X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fconfigfs%2Fdir.c;h=a48dc7dd8765399936cd8c1fbd7fe80d7949e68c;hb=1df5a8d004f64b1aa3fb93e0556886ba00ebc979;hp=50ed691098bc83f6d9058ccb8bc3bbdd142a15d1;hpb=ce8d2cdf3d2b73e346c82e6f0a46da331df6364c;p=linux-2.6 diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 50ed691098..a48dc7dd87 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c @@ -546,7 +546,7 @@ static int populate_groups(struct config_group *group) * That said, taking our i_mutex is closer to mkdir * emulation, and shouldn't hurt. */ - mutex_lock(&dentry->d_inode->i_mutex); + mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_CHILD); for (i = 0; group->default_groups[i]; i++) { new_group = group->default_groups[i]; @@ -1405,7 +1405,8 @@ int configfs_register_subsystem(struct configfs_subsystem *subsys) sd = configfs_sb->s_root->d_fsdata; link_group(to_config_group(sd->s_element), group); - mutex_lock(&configfs_sb->s_root->d_inode->i_mutex); + mutex_lock_nested(&configfs_sb->s_root->d_inode->i_mutex, + I_MUTEX_PARENT); name.name = group->cg_item.ci_name; name.len = strlen(name.name);