diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-01-09 15:59:25 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@hera.kernel.org> | 2006-01-09 15:59:25 -0800 |
commit | 7892f2f48d165a34b0b8130c8a195dfd807b8cb6 (patch) | |
tree | 592b29350c168aa5758700820ab22fb56e72a567 /fs | |
parent | 1b1dcc1b57a49136f118a0f16367256ff9994a69 (diff) | |
download | linux-3.10-7892f2f48d165a34b0b8130c8a195dfd807b8cb6.tar.gz linux-3.10-7892f2f48d165a34b0b8130c8a195dfd807b8cb6.tar.bz2 linux-3.10-7892f2f48d165a34b0b8130c8a195dfd807b8cb6.zip |
[PATCH] mutex subsystem, semaphore to mutex: VFS, sb->s_lock
This patch converts the superblock-lock semaphore to a mutex, affecting
lock_super()/unlock_super(). Tested on ext3 and XFS.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext3/super.c | 2 | ||||
-rw-r--r-- | fs/ocfs2/super.c | 2 | ||||
-rw-r--r-- | fs/super.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index c3dbebdb989..56bf7658601 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -2150,7 +2150,7 @@ int ext3_force_commit(struct super_block *sb) static void ext3_write_super (struct super_block * sb) { - if (down_trylock(&sb->s_lock) == 0) + if (mutex_trylock(&sb->s_lock) != 0) BUG(); sb->s_dirt = 0; } diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 48bf7f0ce54..364d64bd5f1 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -169,7 +169,7 @@ static match_table_t tokens = { */ static void ocfs2_write_super(struct super_block *sb) { - if (down_trylock(&sb->s_lock) == 0) + if (mutex_trylock(&sb->s_lock) != 0) BUG(); sb->s_dirt = 0; } diff --git a/fs/super.c b/fs/super.c index 0a30e51692c..c177b92419c 100644 --- a/fs/super.c +++ b/fs/super.c @@ -72,7 +72,7 @@ static struct super_block *alloc_super(void) INIT_HLIST_HEAD(&s->s_anon); INIT_LIST_HEAD(&s->s_inodes); init_rwsem(&s->s_umount); - sema_init(&s->s_lock, 1); + mutex_init(&s->s_lock); down_write(&s->s_umount); s->s_count = S_BIAS; atomic_set(&s->s_active, 1); |