diff options
author | Chris Mason <chris.mason@oracle.com> | 2010-05-25 09:48:28 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-05-25 10:34:58 -0400 |
commit | eaf25d933e64c2bf3c79b83e8820404f36fdfc52 (patch) | |
tree | 649dc862fcc9a243bdc925db34da618b25a275fc /fs/btrfs/extent_io.h | |
parent | ed3b3d314cd2f16fac42676839854a68cab2e22b (diff) |
Btrfs: use async helpers for DIO write checksumming
The async helper threads offload crc work onto all the
CPUs, and make streaming writes much faster. This
changes the O_DIRECT write code to use them. The only
small complication was that we need to pass in the
logical offset in the file for each bio, because we can't
find it in the bio's pages.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 86f10dc791d9..86c7b341d070 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -49,7 +49,7 @@ struct extent_state; | |||
49 | 49 | ||
50 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, | 50 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, |
51 | struct bio *bio, int mirror_num, | 51 | struct bio *bio, int mirror_num, |
52 | unsigned long bio_flags); | 52 | unsigned long bio_flags, u64 bio_offset); |
53 | struct extent_io_ops { | 53 | struct extent_io_ops { |
54 | int (*fill_delalloc)(struct inode *inode, struct page *locked_page, | 54 | int (*fill_delalloc)(struct inode *inode, struct page *locked_page, |
55 | u64 start, u64 end, int *page_started, | 55 | u64 start, u64 end, int *page_started, |