diff options
author | David S. Miller <davem@davemloft.net> | 2019-08-06 21:44:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-06 21:44:57 -0400 |
commit | 13dfb3fa494361ea9a5950f27c9cd8b06d28c04f (patch) | |
tree | 1bf30874f57c6c6b21160a10282191fcd0868055 /fs/btrfs/locking.c | |
parent | 05bb520376af2c5146d3c44832c22ec3bb54d778 (diff) | |
parent | 33920f1ec5bf47c5c0a1d2113989bdd9dfb3fae9 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Just minor overlapping changes in the conflicts here.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/btrfs/locking.c')
-rw-r--r-- | fs/btrfs/locking.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c index 98fccce4208c..393eceda57c8 100644 --- a/fs/btrfs/locking.c +++ b/fs/btrfs/locking.c | |||
@@ -346,9 +346,12 @@ void btrfs_tree_unlock(struct extent_buffer *eb) | |||
346 | if (blockers) { | 346 | if (blockers) { |
347 | btrfs_assert_no_spinning_writers(eb); | 347 | btrfs_assert_no_spinning_writers(eb); |
348 | eb->blocking_writers--; | 348 | eb->blocking_writers--; |
349 | /* Use the lighter barrier after atomic */ | 349 | /* |
350 | smp_mb__after_atomic(); | 350 | * We need to order modifying blocking_writers above with |
351 | cond_wake_up_nomb(&eb->write_lock_wq); | 351 | * actually waking up the sleepers to ensure they see the |
352 | * updated value of blocking_writers | ||
353 | */ | ||
354 | cond_wake_up(&eb->write_lock_wq); | ||
352 | } else { | 355 | } else { |
353 | btrfs_assert_spinning_writers_put(eb); | 356 | btrfs_assert_spinning_writers_put(eb); |
354 | write_unlock(&eb->lock); | 357 | write_unlock(&eb->lock); |