aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-04-16 11:14:51 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:01 -0400
commit44b8bd7edda4f63de180d0f7325c9fb704b3806b (patch)
tree6090e8b70d6a726caed7d4662c311779d1927cf7 /fs/btrfs/extent_io.h
parent321aecc65671ae8136bd2ca6879b56f0221f8ac8 (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.h5
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
25struct extent_state; 25struct extent_state;
26 26
27typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw,
28 struct bio *bio, int mirror_num);
27struct extent_io_ops { 29struct 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);