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/hpfs/dir.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/hpfs/dir.c')
-rw-r--r-- | fs/hpfs/dir.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/hpfs/dir.c b/fs/hpfs/dir.c index 0217c3a04441..5591f9623aa2 100644 --- a/fs/hpfs/dir.c +++ b/fs/hpfs/dir.c | |||
@@ -32,19 +32,19 @@ static loff_t hpfs_dir_lseek(struct file *filp, loff_t off, int whence) | |||
32 | 32 | ||
33 | /*printk("dir lseek\n");*/ | 33 | /*printk("dir lseek\n");*/ |
34 | if (new_off == 0 || new_off == 1 || new_off == 11 || new_off == 12 || new_off == 13) goto ok; | 34 | if (new_off == 0 || new_off == 1 || new_off == 11 || new_off == 12 || new_off == 13) goto ok; |
35 | down(&i->i_sem); | 35 | mutex_lock(&i->i_mutex); |
36 | pos = ((loff_t) hpfs_de_as_down_as_possible(s, hpfs_inode->i_dno) << 4) + 1; | 36 | pos = ((loff_t) hpfs_de_as_down_as_possible(s, hpfs_inode->i_dno) << 4) + 1; |
37 | while (pos != new_off) { | 37 | while (pos != new_off) { |
38 | if (map_pos_dirent(i, &pos, &qbh)) hpfs_brelse4(&qbh); | 38 | if (map_pos_dirent(i, &pos, &qbh)) hpfs_brelse4(&qbh); |
39 | else goto fail; | 39 | else goto fail; |
40 | if (pos == 12) goto fail; | 40 | if (pos == 12) goto fail; |
41 | } | 41 | } |
42 | up(&i->i_sem); | 42 | mutex_unlock(&i->i_mutex); |
43 | ok: | 43 | ok: |
44 | unlock_kernel(); | 44 | unlock_kernel(); |
45 | return filp->f_pos = new_off; | 45 | return filp->f_pos = new_off; |
46 | fail: | 46 | fail: |
47 | up(&i->i_sem); | 47 | mutex_unlock(&i->i_mutex); |
48 | /*printk("illegal lseek: %016llx\n", new_off);*/ | 48 | /*printk("illegal lseek: %016llx\n", new_off);*/ |
49 | unlock_kernel(); | 49 | unlock_kernel(); |
50 | return -ESPIPE; | 50 | return -ESPIPE; |