linux/fs/btrfs
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
..
acl.c Btrfs: Include sched.h in the acl code for current (fixes compile on 2.6.23) 2008-09-25 11:03:59 -04:00
bit-radix.c Btrfs: trivial include fixups 2007-07-11 10:00:37 -04:00
bit-radix.h Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
btrfs_inode.h Btrfs: Fix i_blocks accounting 2008-09-25 11:04:00 -04:00
COPYING Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
ctree.c Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
ctree.h Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
dir-item.c Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
disk-io.c Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
disk-io.h Btrfs: Verify checksums on tree blocks found without read_tree_block 2008-09-25 11:04:01 -04:00
extent_io.c Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
extent_io.h Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
extent_map.c Btrfs: Split the extent_map code into two parts 2008-09-25 11:03:59 -04:00
extent_map.h Btrfs: Split the extent_map code into two parts 2008-09-25 11:03:59 -04:00
extent-tree.c Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
file-item.c Btrfs: Use KM_USERN instead of KM_IRQ during data summing 2008-09-25 11:04:00 -04:00
file.c Btrfs: Properly cast before shifting 2008-09-25 11:04:00 -04:00
hash.c btrfs-progs: Stop stomping on 'name' input parameter 2008-09-25 11:04:01 -04:00
hash.h Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
inode-item.c Btrfs: Add back pointers from the inode to the directory that references it 2008-09-25 11:03:58 -04:00
inode-map.c Fix for btrfs_find_free_objectid 2008-09-25 11:03:59 -04:00
inode.c Change btrfs_map_block to return a structure with mappings for all stripes 2008-09-25 11:04:01 -04:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.h Btrfs: Add support for device scanning and detection ioctls 2008-09-25 11:04:01 -04:00
Makefile Btrfs: Add support for multiple devices per filesystem 2008-09-25 11:04:00 -04:00
ordered-data.c Btrfs: Fix data=ordered vs wait_on_inode deadlock on older kernels 2008-09-25 11:03:59 -04:00
ordered-data.h Btrfs: Fix data=ordered vs wait_on_inode deadlock on older kernels 2008-09-25 11:03:59 -04:00
print-tree.c Btrfs: Move device information into the super block so it can be scanned 2008-09-25 11:04:01 -04:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
root-tree.c Btrfs: Change st_blocksize to 4k 2008-09-25 11:03:59 -04:00
struct-funcs.c Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
super.c Fix btrfs_fill_super to return -EINVAL when no FS found 2008-09-25 11:04:01 -04:00
sysfs.c Btrfs: Disable sysfs files on older kernels 2008-09-25 11:04:00 -04:00
TODO Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
transaction.c Btrfs: Do metadata checksums for reads via a workqueue 2008-09-25 11:04:01 -04:00
transaction.h Btrfs: Split the extent_map code into two parts 2008-09-25 11:03:59 -04:00
tree-defrag.c Btrfs: Verify checksums on tree blocks found without read_tree_block 2008-09-25 11:04:01 -04:00
volumes.c Change btrfs_map_block to return a structure with mappings for all stripes 2008-09-25 11:04:01 -04:00
volumes.h Change btrfs_map_block to return a structure with mappings for all stripes 2008-09-25 11:04:01 -04:00
xattr.c Btrfs: Fix compile on kernel without ACLs enabled 2008-09-25 11:03:59 -04:00
xattr.h xattr support for btrfs 2008-09-25 11:03:57 -04:00