remarkable-linux/fs/btrfs
Chris Mason 065631f6dc Btrfs: checksum file data at bio submission time instead of during writepage
When we checkum file data during writepage, the checksumming is done one
page at a time, making it difficult to do bulk metadata modifications
to insert checksums for large ranges of the file at once.

This patch changes btrfs to checksum on a per-bio basis instead.  The
bios are checksummed before they are handed off to the block layer, so
each bio is contiguous and only has pages from the same inode.

Checksumming on a bio basis allows us to insert and modify the file
checksum items in large groups.  It also allows the checksumming to
be done more easily by async worker threads.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:04:00 -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 Call btrfs_cow_block while lowering tree level. 2008-09-25 11:04:00 -04:00
ctree.h Btrfs: checksum file data at bio submission time instead of during writepage 2008-09-25 11:04:00 -04:00
dir-item.c Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
disk-io.c Btrfs: Allocator improvements 2008-09-25 11:04:00 -04:00
disk-io.h Btrfs: Add some simple throttling to wait for data=ordered and snapshot deletion 2008-09-25 11:03:59 -04:00
extent-tree.c Btrfs: Remove extent back refs in batches, and avoid duplicate searches 2008-09-25 11:04:00 -04:00
extent_io.c Btrfs: checksum file data at bio submission time instead of during writepage 2008-09-25 11:04:00 -04:00
extent_io.h Btrfs: checksum file data at bio submission time instead of during writepage 2008-09-25 11:04:00 -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
file-item.c Btrfs: checksum file data at bio submission time instead of during writepage 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: unaligned access fixes 2008-09-25 11:04:00 -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 Btrfs: checksum file data at bio submission time instead of during writepage 2008-09-25 11:04:00 -04:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.h Btrfs: Support for online FS resize (grow and shrink) 2008-09-25 11:03:58 -04:00
Makefile Btrfs: Split the extent_map code into two parts 2008-09-25 11:03:59 -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: Add back pointers from extents to the btree or file referencing them 2008-09-25 11:03:58 -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 Btrfs: mount -o max_inline=size to control the maximum inline extent size 2008-09-25 11:04:00 -04:00
sysfs.c Btrfs: Back port to 2.6.18-el kernels 2008-09-25 11:03:58 -04:00
TODO Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
transaction.c Btrfs: Lower stack usage in transaction.c 2008-09-25 11:04:00 -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: Disable tree defrag in SSD mode 2008-09-25 11:04:00 -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