diff options
author | Joel Becker <joel.becker@oracle.com> | 2007-07-07 02:33:17 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-07-10 20:10:56 -0400 |
commit | e6bd07aee739566803425acdbf5cdb29919164e1 (patch) | |
tree | e085a5065d06af2b7c0cab8bcd8fb4eb289344be /fs/configfs/dir.c | |
parent | 3fe6c5ce1176cf661dbe71fc43b627c1a742a89a (diff) |
configfs: Convert subsystem semaphore to mutex
Convert the su_sem member of struct configfs_subsystem to a struct
mutex, as that's what it is. Also convert all the users and update
Documentation/configfs.txt and Documentation/configfs_example.c
accordingly.
[ Conflict in fs/dlm/config.c with commit
3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ]
Inspired-by: Satyam Sharma <ssatyam@cse.iitk.ac.in>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/configfs/dir.c')
-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); |