diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-04-16 11:14:51 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:01 -0400 |
commit | 44b8bd7edda4f63de180d0f7325c9fb704b3806b (patch) | |
tree | 6090e8b70d6a726caed7d4662c311779d1927cf7 /fs/btrfs/extent_io.h | |
parent | 321aecc65671ae8136bd2ca6879b56f0221f8ac8 (diff) |
Btrfs: Create a work queue for bio writes
This allows checksumming to happen in parallel among many cpus, and
keeps us from bogging down pdflush with the checksumming code.
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 | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index b47859ccd78a..232300d13be2 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -24,11 +24,12 @@ | |||
24 | 24 | ||
25 | struct extent_state; | 25 | struct extent_state; |
26 | 26 | ||
27 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, | ||
28 | struct bio *bio, int mirror_num); | ||
27 | struct extent_io_ops { | 29 | struct extent_io_ops { |
28 | int (*fill_delalloc)(struct inode *inode, u64 start, u64 end); | 30 | int (*fill_delalloc)(struct inode *inode, u64 start, u64 end); |
29 | int (*writepage_io_hook)(struct page *page, u64 start, u64 end); | 31 | int (*writepage_io_hook)(struct page *page, u64 start, u64 end); |
30 | int (*submit_bio_hook)(struct inode *inode, int rw, struct bio *bio, | 32 | extent_submit_bio_hook_t *submit_bio_hook; |
31 | int mirror_num); | ||
32 | int (*merge_bio_hook)(struct page *page, unsigned long offset, | 33 | int (*merge_bio_hook)(struct page *page, unsigned long offset, |
33 | size_t size, struct bio *bio); | 34 | size_t size, struct bio *bio); |
34 | int (*readpage_io_hook)(struct page *page, u64 start, u64 end); | 35 | int (*readpage_io_hook)(struct page *page, u64 start, u64 end); |