diff options
Diffstat (limited to 'fs/configfs')
-rw-r--r-- | fs/configfs/dir.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 5e6e37e58f36..d3b1dbb9b5b8 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c | |||
@@ -562,7 +562,7 @@ static int populate_groups(struct config_group *group) | |||
562 | 562 | ||
563 | /* | 563 | /* |
564 | * All of link_obj/unlink_obj/link_group/unlink_group require that | 564 | * All of link_obj/unlink_obj/link_group/unlink_group require that |
565 | * subsys->su_sem is held. | 565 | * subsys->su_mutex is held. |
566 | */ | 566 | */ |
567 | 567 | ||
568 | static void unlink_obj(struct config_item *item) | 568 | static void unlink_obj(struct config_item *item) |
@@ -783,7 +783,7 @@ static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
783 | 783 | ||
784 | snprintf(name, dentry->d_name.len + 1, "%s", dentry->d_name.name); | 784 | snprintf(name, dentry->d_name.len + 1, "%s", dentry->d_name.name); |
785 | 785 | ||
786 | down(&subsys->su_sem); | 786 | mutex_lock(&subsys->su_mutex); |
787 | group = NULL; | 787 | group = NULL; |
788 | item = NULL; | 788 | item = NULL; |
789 | if (type->ct_group_ops->make_group) { | 789 | if (type->ct_group_ops->make_group) { |
@@ -797,7 +797,7 @@ static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
797 | if (item) | 797 | if (item) |
798 | link_obj(parent_item, item); | 798 | link_obj(parent_item, item); |
799 | } | 799 | } |
800 | up(&subsys->su_sem); | 800 | mutex_unlock(&subsys->su_mutex); |
801 | 801 | ||
802 | kfree(name); | 802 | kfree(name); |
803 | if (!item) { | 803 | if (!item) { |
@@ -841,13 +841,13 @@ static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
841 | out_unlink: | 841 | out_unlink: |
842 | if (ret) { | 842 | if (ret) { |
843 | /* Tear down everything we built up */ | 843 | /* Tear down everything we built up */ |
844 | down(&subsys->su_sem); | 844 | mutex_lock(&subsys->su_mutex); |
845 | if (group) | 845 | if (group) |
846 | unlink_group(group); | 846 | unlink_group(group); |
847 | else | 847 | else |
848 | unlink_obj(item); | 848 | unlink_obj(item); |
849 | client_drop_item(parent_item, item); | 849 | client_drop_item(parent_item, item); |
850 | up(&subsys->su_sem); | 850 | mutex_unlock(&subsys->su_mutex); |
851 | 851 | ||
852 | if (module_got) | 852 | if (module_got) |
853 | module_put(owner); | 853 | module_put(owner); |
@@ -910,17 +910,17 @@ static int configfs_rmdir(struct inode *dir, struct dentry *dentry) | |||
910 | if (sd->s_type & CONFIGFS_USET_DIR) { | 910 | if (sd->s_type & CONFIGFS_USET_DIR) { |
911 | configfs_detach_group(item); | 911 | configfs_detach_group(item); |
912 | 912 | ||
913 | down(&subsys->su_sem); | 913 | mutex_lock(&subsys->su_mutex); |
914 | unlink_group(to_config_group(item)); | 914 | unlink_group(to_config_group(item)); |
915 | } else { | 915 | } else { |
916 | configfs_detach_item(item); | 916 | configfs_detach_item(item); |
917 | 917 | ||
918 | down(&subsys->su_sem); | 918 | mutex_lock(&subsys->su_mutex); |
919 | unlink_obj(item); | 919 | unlink_obj(item); |
920 | } | 920 | } |
921 | 921 | ||
922 | client_drop_item(parent_item, item); | 922 | client_drop_item(parent_item, item); |
923 | up(&subsys->su_sem); | 923 | mutex_unlock(&subsys->su_mutex); |
924 | 924 | ||
925 | /* Drop our reference from above */ | 925 | /* Drop our reference from above */ |
926 | config_item_put(item); | 926 | config_item_put(item); |