aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Bo2017-08-18 11:54:02 -0600
committerDavid Sterba2017-10-30 12:27:55 +0100
commit9b4a9b283d5efbe9a221e2282e41e272e9db5ae9 (patch)
tree0160b737c50845e16c84a0b7e7e03ecfebc9e992
parent9cd3a7eb8507deb3c75077739a07ccccad0dc991 (diff)
Btrfs: do not async submit for nodatasum inodes
While we submit direct writes, if the inode is flagged with nodatasum, there's no benefit to submit asynchronously, because a) we don't have to calculate checksum across processors, b) and direct IO has started a plug, but async submit makes us queue IO on each device's scheduled IO list instead of DIO's plug list, so that IOs get much less merges in general. Lets use sync submit for nodatasum inodes. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index d94e3f68b9b1..0460c5431a72 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -8577,7 +8577,7 @@ __btrfs_submit_dio_bio(struct bio *bio, struct inode *inode, u64 file_offset,
goto err;
}
map:
- ret = btrfs_map_bio(fs_info, bio, 0, async_submit);
+ ret = btrfs_map_bio(fs_info, bio, 0, 0);
err:
bio_put(bio);
return ret;