hfsplus: use atomic bitops for the superblock flags
[firefly-linux-kernel-4.4.55.git] / fs / hfsplus / btree.c
index f75cf222b8b4809bcfdc5ddad49ed3335d183d77..27504f57a485f75d42f9f94f01153a3a0a09b95d 100644 (file)
@@ -61,12 +61,12 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id)
        if (id == HFSPLUS_EXT_CNID) {
                tree->keycmp = hfsplus_ext_cmp_key;
        } else if (id == HFSPLUS_CAT_CNID) {
-               if ((HFSPLUS_SB(sb)->flags & HFSPLUS_SB_HFSX) &&
+               if (test_bit(HFSPLUS_SB_HFSX, &HFSPLUS_SB(sb)->flags) &&
                    (head->key_type == HFSPLUS_KEY_BINARY))
                        tree->keycmp = hfsplus_cat_bin_cmp_key;
                else {
                        tree->keycmp = hfsplus_cat_case_cmp_key;
-                       HFSPLUS_SB(sb)->flags |= HFSPLUS_SB_CASEFOLD;
+                       set_bit(HFSPLUS_SB_CASEFOLD, &HFSPLUS_SB(sb)->flags);
                }
        } else {
                printk(KERN_ERR "hfs: unknown B*Tree requested\n");