linux-stable/fs/btrfs
Christoph Hellwig 50dbfd9dac btrfs: fix fast csum implementation detection
commit 68d99ab0e9 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-20 12:07:35 +02:00
..
tests btrfs: remove pointless and double ulist frees in error paths of qgroup tests 2022-11-25 17:42:13 +01:00
Kconfig
Makefile
acl.c
async-thread.c
async-thread.h
backref.c btrfs: fix resolving backrefs for inline extent followed by prealloc 2023-01-18 11:41:46 +01:00
backref.h
block-group.c
block-group.h
block-rsv.c
block-rsv.h
btrfs_inode.h
check-integrity.c
check-integrity.h
compression.c
compression.h
ctree.c
ctree.h btrfs: unify lookup return value when dir entry is missing 2022-09-05 10:27:46 +02:00
delalloc-space.c
delalloc-space.h
delayed-inode.c
delayed-inode.h
delayed-ref.c
delayed-ref.h
dev-replace.c btrfs: add info when mount fails due to stale replace target 2022-09-05 10:27:43 +02:00
dev-replace.h
dir-item.c btrfs: unify lookup return value when dir entry is missing 2022-09-05 10:27:46 +02:00
disk-io.c btrfs: fix fast csum implementation detection 2023-04-20 12:07:35 +02:00
disk-io.h
export.c btrfs: fix type of parameter generation in btrfs_get_dentry 2022-11-10 17:57:55 +01:00
export.h btrfs: fix type of parameter generation in btrfs_get_dentry 2022-11-10 17:57:55 +01:00
extent-tree.c
extent_io.c
extent_io.h
extent_map.c
extent_map.h
file-item.c
file.c
free-space-cache.c
free-space-cache.h
free-space-tree.c
free-space-tree.h
inode-item.c
inode-map.c
inode-map.h
inode.c btrfs: do not pin logs too early during renames 2022-09-05 10:27:46 +02:00
ioctl.c btrfs: replace strncpy() with strscpy() 2023-01-18 11:41:52 +01:00
locking.c
locking.h
lzo.c
misc.h
ordered-data.c
ordered-data.h
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c btrfs: fix race between quota rescan and disable leading to NULL pointer deref 2023-01-24 07:18:00 +01:00
qgroup.h
raid56.c btrfs: raid56: don't trust any cached sector in __raid56_parity_recover() 2022-08-25 11:18:40 +02:00
raid56.h
rcu-string.h btrfs: replace strncpy() with strscpy() 2023-01-18 11:41:52 +01:00
reada.c
ref-verify.c
ref-verify.h
relocation.c
root-tree.c btrfs: fix silent failure when deleting root reference 2022-09-05 10:27:43 +02:00
scrub.c btrfs: scrub: try to fix super block errors 2022-10-26 13:22:55 +02:00
send.c btrfs: send: limit number of clones and allocated memory size 2023-03-03 11:41:48 +01:00
send.h
space-info.c
space-info.h
struct-funcs.c
super.c btrfs: fix fast csum implementation detection 2023-04-20 12:07:35 +02:00
sysfs.c btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs() 2022-12-08 11:23:01 +01:00
sysfs.h
transaction.c
transaction.h
tree-checker.c btrfs: tree-checker: check for overlapping extent items 2022-09-05 10:27:47 +02:00
tree-checker.h
tree-defrag.c
tree-log.c btrfs: unify lookup return value when dir entry is missing 2022-09-05 10:27:46 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c
volumes.c btrfs: scan device in non-exclusive mode 2023-04-05 11:16:46 +02:00
volumes.h
xattr.c btrfs: check if root is readonly while setting security xattr 2022-09-05 10:27:43 +02:00
xattr.h
zlib.c btrfs: zlib: zero-initialize zlib workspace 2023-02-22 12:50:30 +01:00
zstd.c