summaryrefslogtreecommitdiff
path: root/fs/affs/super.c
diff options
context:
space:
mode:
authorDavidlohr Bueso <dave@stgolabs.net>2019-10-27 15:01:43 -0700
committerDavid Sterba <dsterba@suse.com>2019-11-18 14:26:43 +0100
commit6060c07d476ebb1f21d28db5ba852e911246ce79 (patch)
treee72425a98d8915b3209e3136b1e4b575c009794a /fs/affs/super.c
parentaf42d3466bdc8f39806b26f593604fdc54140bcb (diff)
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.c4
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);
}