Btrfs: convert smp_mb__{before,after}_clear_bit
authorChris Mason <clm@fb.com>
Tue, 10 Jun 2014 20:06:56 +0000 (13:06 -0700)
committerChris Mason <clm@fb.com>
Tue, 10 Jun 2014 20:10:47 +0000 (13:10 -0700)
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>
fs/btrfs/transaction.c

index 1c54e2eb74abac9e2530467e77bb6164890fc45c..9630f10f8e1ea3eea4f724e6835d9ba25a1a1436 100644 (file)
@@ -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,