diff options
author | Jes Sorensen <jes@sgi.com> | 2006-01-09 18:59:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@hera.kernel.org> | 2006-01-09 18:59:24 -0500 |
commit | 1b1dcc1b57a49136f118a0f16367256ff9994a69 (patch) | |
tree | b0b36d4f41d28c9d6514fb309d33c1a084d6309b /fs/xattr.c | |
parent | 794ee1baee1c26be40410233e6c20bceb2b03c08 (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/xattr.c')
-rw-r--r-- | fs/xattr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/xattr.c b/fs/xattr.c index bcc2156d4d28..386a532ee5a9 100644 --- a/fs/xattr.c +++ b/fs/xattr.c | |||
@@ -51,7 +51,7 @@ setxattr(struct dentry *d, char __user *name, void __user *value, | |||
51 | } | 51 | } |
52 | } | 52 | } |
53 | 53 | ||
54 | down(&d->d_inode->i_sem); | 54 | mutex_lock(&d->d_inode->i_mutex); |
55 | error = security_inode_setxattr(d, kname, kvalue, size, flags); | 55 | error = security_inode_setxattr(d, kname, kvalue, size, flags); |
56 | if (error) | 56 | if (error) |
57 | goto out; | 57 | goto out; |
@@ -73,7 +73,7 @@ setxattr(struct dentry *d, char __user *name, void __user *value, | |||
73 | fsnotify_xattr(d); | 73 | fsnotify_xattr(d); |
74 | } | 74 | } |
75 | out: | 75 | out: |
76 | up(&d->d_inode->i_sem); | 76 | mutex_unlock(&d->d_inode->i_mutex); |
77 | kfree(kvalue); | 77 | kfree(kvalue); |
78 | return error; | 78 | return error; |
79 | } | 79 | } |
@@ -323,9 +323,9 @@ removexattr(struct dentry *d, char __user *name) | |||
323 | error = security_inode_removexattr(d, kname); | 323 | error = security_inode_removexattr(d, kname); |
324 | if (error) | 324 | if (error) |
325 | goto out; | 325 | goto out; |
326 | down(&d->d_inode->i_sem); | 326 | mutex_lock(&d->d_inode->i_mutex); |
327 | error = d->d_inode->i_op->removexattr(d, kname); | 327 | error = d->d_inode->i_op->removexattr(d, kname); |
328 | up(&d->d_inode->i_sem); | 328 | mutex_unlock(&d->d_inode->i_mutex); |
329 | if (!error) | 329 | if (!error) |
330 | fsnotify_xattr(d); | 330 | fsnotify_xattr(d); |
331 | } | 331 | } |