summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Mason <clm@fb.com>2014-06-10 22:06:56 +0200
committerChris Mason <clm@fb.com>2014-06-10 22:10:47 +0200
commitc7548af69d9ef71512eb52d8009521eba3e768fd (patch)
tree1e7976a13aacd138dc0197a89771b0e62f0b7ac1
parentBtrfs: fix scrub_print_warning to handle skinny metadata extents (diff)
downloadlinux-c7548af69d9ef71512eb52d8009521eba3e768fd.tar.xz
linux-c7548af69d9ef71512eb52d8009521eba3e768fd.zip
Btrfs: convert smp_mb__{before,after}_clear_bit
The new call is smp_mb__{before,after}_atomic. The __ gives us extra protection from the atomic rays. Signed-off-by: Chris Mason <clm@fb.com>
-rw-r--r--fs/btrfs/transaction.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 1c54e2eb74ab..9630f10f8e1e 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -290,7 +290,7 @@ static int record_root_in_trans(struct btrfs_trans_handle *trans,
* done before we pop in the zero below
*/
btrfs_init_reloc_root(trans, root);
- smp_mb__before_clear_bit();
+ smp_mb__before_atomic();
clear_bit(BTRFS_ROOT_IN_TRANS_SETUP, &root->state);
}
return 0;
@@ -1060,7 +1060,7 @@ static noinline int commit_fs_roots(struct btrfs_trans_handle *trans,
/* see comments in should_cow_block() */
clear_bit(BTRFS_ROOT_FORCE_COW, &root->state);
- smp_mb__after_clear_bit();
+ smp_mb__after_atomic();
if (root->commit_root != root->node) {
list_add_tail(&root->dirty_list,