aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-04-09 16:28:12 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:01 -0400
commit22c599485b1fdd95e4476a4752596a6cf6c6629a (patch)
treef34285bfb545cf7abed9be6ad12a61e80dbb4bb5 /fs/btrfs/inode.c
parentce9adaa5a792c2099a83246265eb4055bc38b6b8 (diff)
Btrfs: Handle data block end_io through the async work queue
Before it was done by the bio end_io routine, the work queue code is able to scale much better with faster IO subsystems. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 7ae677d8a6d..e1ef1acdb35 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -328,7 +328,9 @@ int btrfs_submit_bio_hook(struct inode *inode, int rw, struct bio *bio)
328 struct btrfs_trans_handle *trans; 328 struct btrfs_trans_handle *trans;
329 int ret = 0; 329 int ret = 0;
330 330
331 if (rw != WRITE) { 331 if (!(rw & (1 << BIO_RW))) {
332 ret = btrfs_bio_wq_end_io(root->fs_info, bio, 0);
333 BUG_ON(ret);
332 goto mapit; 334 goto mapit;
333 } 335 }
334 336