From: Chris Mason Date: Wed, 9 Apr 2008 20:28:12 +0000 (-0400) Subject: Btrfs: Do metadata checksums for reads via a workqueue X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~30^2~245 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce9adaa5a792c2099a83246265eb4055bc38b6b8;p=pandora-kernel.git 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 --- Reading git-diff-tree failed