diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2019-10-27 15:01:43 -0700 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-11-18 14:26:43 +0100 |
commit | 6060c07d476ebb1f21d28db5ba852e911246ce79 (patch) | |
tree | e72425a98d8915b3209e3136b1e4b575c009794a /fs/affs/super.c | |
parent | af42d3466bdc8f39806b26f593604fdc54140bcb (diff) | |
download | linux-6060c07d476ebb1f21d28db5ba852e911246ce79.tar.gz |
affs: Replace binary semaphores with mutexes
At a slight footprint cost (24 vs 32 bytes), mutexes are more optimal
than semaphores; it's also a nicer interface for mutual exclusion,
which is why they are encouraged over binary semaphores, when possible.
For both i_link_lock and i_ext_lock (and hence i_hash_lock which I
annotated for the hash lock mapping hackery for lockdep), their semantics
imply traditional lock ownership; that is, the lock owner is the same for
both lock/unlock operations and does not run in irq context. Therefore
it is safe to convert.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/affs/super.c')
-rw-r--r-- | fs/affs/super.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/affs/super.c b/fs/affs/super.c index cc463ae47c12..9fcff55c65af 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c @@ -121,8 +121,8 @@ static void init_once(void *foo) { struct affs_inode_info *ei = (struct affs_inode_info *) foo; - sema_init(&ei->i_link_lock, 1); - sema_init(&ei->i_ext_lock, 1); + mutex_init(&ei->i_link_lock); + mutex_init(&ei->i_ext_lock); inode_init_once(&ei->vfs_inode); } |