diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-04-09 16:28:12 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:01 -0400 |
commit | 22c599485b1fdd95e4476a4752596a6cf6c6629a (patch) | |
tree | f34285bfb545cf7abed9be6ad12a61e80dbb4bb5 /fs/btrfs/inode.c | |
parent | ce9adaa5a792c2099a83246265eb4055bc38b6b8 (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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 7ae677d8a6de..e1ef1acdb350 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 | ||