summaryrefslogtreecommitdiff
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)
downloadlinux-3.10-44b8bd7edda4f63de180d0f7325c9fb704b3806b.tar.gz
linux-3.10-44b8bd7edda4f63de180d0f7325c9fb704b3806b.tar.bz2
linux-3.10-44b8bd7edda4f63de180d0f7325c9fb704b3806b.zip
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 b47859ccd78..232300d13be 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -24,11 +24,12 @@
struct extent_state;
+typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw,
+ struct bio *bio, int mirror_num);
struct extent_io_ops {
int (*fill_delalloc)(struct inode *inode, u64 start, u64 end);
int (*writepage_io_hook)(struct page *page, u64 start, u64 end);
- int (*submit_bio_hook)(struct inode *inode, int rw, struct bio *bio,
- int mirror_num);
+ extent_submit_bio_hook_t *submit_bio_hook;
int (*merge_bio_hook)(struct page *page, unsigned long offset,
size_t size, struct bio *bio);
int (*readpage_io_hook)(struct page *page, u64 start, u64 end);