Fork of hrdl's(https://git.sr.ht/~hrdl/linux) 'hrdl-pinenote-6.15rc3 branch, rebased to 6.15. hrdl's branch is itself a fork of m-weigand's (https://github.com/m-weigand/linux) v6.12 branch.
Find a file
Chris Mason ce9adaa5a7 Btrfs: Do metadata checksums for reads via a workqueue
Before, metadata checksumming was done by the callers of read_tree_block,
which would set EXTENT_CSUM bits in the extent tree to show that a given
range of pages was already checksummed and didn't need to be verified
again.

But, those bits could go away via try_to_releasepage, and the end
result was bogus checksum failures on pages that never left the cache.

The new code validates checksums when the page is read.  It is a little
tricky because metadata blocks can span pages and a single read may
end up going via multiple bios.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:04:01 -04:00
fs/btrfs Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00