diff options
author | David Sterba <dsterba@suse.com> | 2018-08-24 15:57:38 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-04-29 19:02:21 +0200 |
commit | afd495a8264fb25cef49834b5c3559b8aaa612ee (patch) | |
tree | 8196e1c261b761ac8e4bcec38ee896bb8ce538fd /fs/btrfs/locking.c | |
parent | 225948dedc9d3ac514eb1f4b7318d541cfd80aaf (diff) | |
download | linux-afd495a8264fb25cef49834b5c3559b8aaa612ee.tar.gz linux-afd495a8264fb25cef49834b5c3559b8aaa612ee.tar.bz2 linux-afd495a8264fb25cef49834b5c3559b8aaa612ee.zip |
btrfs: use assertion helpers for spinning readers
Use the helpers where open coded. On non-debug builds, the warnings will
not trigger and extent_buffer::spining_readers become unused and can be
moved to the appropriate section, saving a few bytes.
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/locking.c')
-rw-r--r-- | fs/btrfs/locking.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c index 2dd3ae524aa3..47bcd288977d 100644 --- a/fs/btrfs/locking.c +++ b/fs/btrfs/locking.c @@ -62,8 +62,7 @@ void btrfs_set_lock_blocking_read(struct extent_buffer *eb) return; btrfs_assert_tree_read_locked(eb); atomic_inc(&eb->blocking_readers); - WARN_ON(atomic_read(&eb->spinning_readers) == 0); - atomic_dec(&eb->spinning_readers); + btrfs_assert_spinning_readers_put(eb); read_unlock(&eb->lock); } @@ -95,7 +94,7 @@ void btrfs_clear_lock_blocking_read(struct extent_buffer *eb) return; BUG_ON(atomic_read(&eb->blocking_readers) == 0); read_lock(&eb->lock); - atomic_inc(&eb->spinning_readers); + btrfs_assert_spinning_readers_get(eb); /* atomic_dec_and_test implies a barrier */ if (atomic_dec_and_test(&eb->blocking_readers)) cond_wake_up_nomb(&eb->read_lock_wq); @@ -150,7 +149,7 @@ again: goto again; } atomic_inc(&eb->read_locks); - atomic_inc(&eb->spinning_readers); + btrfs_assert_spinning_readers_get(eb); } /* @@ -169,7 +168,7 @@ int btrfs_tree_read_lock_atomic(struct extent_buffer *eb) return 0; } atomic_inc(&eb->read_locks); - atomic_inc(&eb->spinning_readers); + btrfs_assert_spinning_readers_get(eb); return 1; } @@ -190,7 +189,7 @@ int btrfs_try_tree_read_lock(struct extent_buffer *eb) return 0; } atomic_inc(&eb->read_locks); - atomic_inc(&eb->spinning_readers); + btrfs_assert_spinning_readers_get(eb); return 1; } @@ -232,8 +231,7 @@ void btrfs_tree_read_unlock(struct extent_buffer *eb) return; } btrfs_assert_tree_read_locked(eb); - WARN_ON(atomic_read(&eb->spinning_readers) == 0); - atomic_dec(&eb->spinning_readers); + btrfs_assert_spinning_readers_put(eb); atomic_dec(&eb->read_locks); read_unlock(&eb->lock); } |