]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: report errors when checksum is not found
authorLiu Bo <bo.li.liu@oracle.com>
Tue, 11 Jul 2017 20:43:16 +0000 (14:43 -0600)
committerDavid Sterba <dsterba@suse.com>
Wed, 16 Aug 2017 14:12:02 +0000 (16:12 +0200)
commit70234a66bc01b9af665fd46ac90bb51a071214be
treee2340e7e969bfb8a506ef193adaae243d9d65a08
parent8ac72abbd6f8b467e7cdd1a76d0e35050ccf894f
Btrfs: report errors when checksum is not found

When btrfs fails the checksum check, it'll fill the whole page with
"1".

However, if %csum_expected is 0 (which means there is no checksum), then
for some unknown reason, we just pretend that the read is correct, so
userspace would be confused about the dilemma that read is successful but
getting a page with all content being "1".

This can happen due to a bug in btrfs-convert.

This fixes it by always returning errors if checksum doesn't match.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c