aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext3
diff options
context:
space:
mode:
authorJes Sorensen <jes@sgi.com>2006-01-09 18:59:24 -0500
committerIngo Molnar <mingo@hera.kernel.org>2006-01-09 18:59:24 -0500
commit1b1dcc1b57a49136f118a0f16367256ff9994a69 (patch)
treeb0b36d4f41d28c9d6514fb309d33c1a084d6309b /fs/ext3
parent794ee1baee1c26be40410233e6c20bceb2b03c08 (diff)
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
This patch converts the inode semaphore to a mutex. I have tested it on XFS and compiled as much as one can consider on an ia64. Anyway your luck with it might be different. Modified-by: Ingo Molnar <mingo@elte.hu> (finished the conversion) Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/ext3')
-rw-r--r--fs/ext3/acl.c10
-rw-r--r--fs/ext3/super.c4
-rw-r--r--fs/ext3/xattr.c2
3 files changed, 8 insertions, 8 deletions
diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c
index 3ac38266fc9e..9ed132c96034 100644
--- a/fs/ext3/acl.c
+++ b/fs/ext3/acl.c
@@ -152,7 +152,7 @@ ext3_iset_acl(struct inode *inode, struct posix_acl **i_acl,
152/* 152/*
153 * Inode operation get_posix_acl(). 153 * Inode operation get_posix_acl().
154 * 154 *
155 * inode->i_sem: don't care 155 * inode->i_mutex: don't care
156 */ 156 */
157static struct posix_acl * 157static struct posix_acl *
158ext3_get_acl(struct inode *inode, int type) 158ext3_get_acl(struct inode *inode, int type)
@@ -216,7 +216,7 @@ ext3_get_acl(struct inode *inode, int type)
216/* 216/*
217 * Set the access or default ACL of an inode. 217 * Set the access or default ACL of an inode.
218 * 218 *
219 * inode->i_sem: down unless called from ext3_new_inode 219 * inode->i_mutex: down unless called from ext3_new_inode
220 */ 220 */
221static int 221static int
222ext3_set_acl(handle_t *handle, struct inode *inode, int type, 222ext3_set_acl(handle_t *handle, struct inode *inode, int type,
@@ -306,8 +306,8 @@ ext3_permission(struct inode *inode, int mask, struct nameidata *nd)
306/* 306/*
307 * Initialize the ACLs of a new inode. Called from ext3_new_inode. 307 * Initialize the ACLs of a new inode. Called from ext3_new_inode.
308 * 308 *
309 * dir->i_sem: down 309 * dir->i_mutex: down
310 * inode->i_sem: up (access to inode is still exclusive) 310 * inode->i_mutex: up (access to inode is still exclusive)
311 */ 311 */
312int 312int
313ext3_init_acl(handle_t *handle, struct inode *inode, struct inode *dir) 313ext3_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
@@ -368,7 +368,7 @@ cleanup:
368 * for directories) are added. There are no more bits available in the 368 * for directories) are added. There are no more bits available in the
369 * file mode. 369 * file mode.
370 * 370 *
371 * inode->i_sem: down 371 * inode->i_mutex: down
372 */ 372 */
373int 373int
374ext3_acl_chmod(struct inode *inode) 374ext3_acl_chmod(struct inode *inode)
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 7c45acf94589..c3dbebdb9897 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -2601,7 +2601,7 @@ static ssize_t ext3_quota_write(struct super_block *sb, int type,
2601 struct buffer_head *bh; 2601 struct buffer_head *bh;
2602 handle_t *handle = journal_current_handle(); 2602 handle_t *handle = journal_current_handle();
2603 2603
2604 down(&inode->i_sem); 2604 mutex_lock(&inode->i_mutex);
2605 while (towrite > 0) { 2605 while (towrite > 0) {
2606 tocopy = sb->s_blocksize - offset < towrite ? 2606 tocopy = sb->s_blocksize - offset < towrite ?
2607 sb->s_blocksize - offset : towrite; 2607 sb->s_blocksize - offset : towrite;
@@ -2644,7 +2644,7 @@ out:
2644 inode->i_version++; 2644 inode->i_version++;
2645 inode->i_mtime = inode->i_ctime = CURRENT_TIME; 2645 inode->i_mtime = inode->i_ctime = CURRENT_TIME;
2646 ext3_mark_inode_dirty(handle, inode); 2646 ext3_mark_inode_dirty(handle, inode);
2647 up(&inode->i_sem); 2647 mutex_unlock(&inode->i_mutex);
2648 return len - towrite; 2648 return len - towrite;
2649} 2649}
2650 2650
diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c
index 430de9f63be3..238199d82ce5 100644
--- a/fs/ext3/xattr.c
+++ b/fs/ext3/xattr.c
@@ -140,7 +140,7 @@ ext3_xattr_handler(int name_index)
140/* 140/*
141 * Inode operation listxattr() 141 * Inode operation listxattr()
142 * 142 *
143 * dentry->d_inode->i_sem: don't care 143 * dentry->d_inode->i_mutex: don't care
144 */ 144 */
145ssize_t 145ssize_t
146ext3_listxattr(struct dentry *dentry, char *buffer, size_t size) 146ext3_listxattr(struct dentry *dentry, char *buffer, size_t size)