btrfs: set BTRFS_FS_STATE_NO_CSUMS if we fail to load the csum root
[sfrench/cifs-2.6.git] / fs / btrfs / compression.c
index 32da97c3c19db41fc3bd0222afcd11d60cabbc06..e776956d5bc9296b238ec16f34444129c0e74871 100644 (file)
@@ -157,7 +157,8 @@ static int check_compressed_csum(struct btrfs_inode *inode, struct bio *bio,
        struct compressed_bio *cb = bio->bi_private;
        u8 *cb_sum = cb->sums;
 
-       if (!fs_info->csum_root || (inode->flags & BTRFS_INODE_NODATASUM))
+       if ((inode->flags & BTRFS_INODE_NODATASUM) ||
+           test_bit(BTRFS_FS_STATE_NO_CSUMS, &fs_info->fs_state))
                return 0;
 
        shash->tfm = fs_info->csum_shash;