btrfs: fix fast csum implementation detection
authorChristoph Hellwig <hch@lst.de>
Wed, 29 Mar 2023 00:13:05 +0000 (09:13 +0900)
committerDavid Sterba <dsterba@suse.com>
Thu, 6 Apr 2023 14:34:13 +0000 (16:34 +0200)
commit68d99ab0e9221ef54506f827576c5a914680eeaf
tree6623b6e1eecc2f17a20d80f071d5c894161c120a
parent40fac6472f22a59f5694496e179988ab4a1dfe07
btrfs: fix fast csum implementation detection

The BTRFS_FS_CSUM_IMPL_FAST flag is currently set whenever a non-generic
crc32c is detected, which is the incorrect check if the file system uses
a different checksumming algorithm.  Refactor the code to only check
this if crc32c is actually used.  Note that in an ideal world the
information if an algorithm is hardware accelerated or not should be
provided by the crypto API instead, but that's left for another day.

CC: stable@vger.kernel.org # 5.4.x: c8a5f8ca9a9c: btrfs: print checksum type and implementation at mount time
CC: stable@vger.kernel.org # 5.4.x
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c
fs/btrfs/super.c