summaryrefslogtreecommitdiff
path: root/libbcache/fs-io.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2017-03-16 14:51:41 -0800
committerKent Overstreet <kent.overstreet@gmail.com>2017-03-16 14:51:41 -0800
commitbb1941de5378a7b8122d3575dcbc7d0aeb6326f0 (patch)
treefb0920334591a34e2673c3cfc63d07ac20ba0b92 /libbcache/fs-io.c
parentac296ad4dcd32a4e7618716782fc3f2b69d03a74 (diff)
update bcache sources
Diffstat (limited to 'libbcache/fs-io.c')
-rw-r--r--libbcache/fs-io.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libbcache/fs-io.c b/libbcache/fs-io.c
index 0aef0141..afc8c208 100644
--- a/libbcache/fs-io.c
+++ b/libbcache/fs-io.c
@@ -1613,10 +1613,16 @@ ssize_t bch_direct_IO(struct kiocb *req, struct iov_iter *iter)
struct file *file = req->ki_filp;
struct inode *inode = file->f_inode;
struct bch_fs *c = inode->i_sb->s_fs_info;
+ struct blk_plug plug;
+ ssize_t ret;
- return ((iov_iter_rw(iter) == WRITE)
+ blk_start_plug(&plug);
+ ret = ((iov_iter_rw(iter) == WRITE)
? bch_direct_IO_write
: bch_direct_IO_read)(c, req, file, inode, iter, req->ki_pos);
+ blk_finish_plug(&plug);
+
+ return ret;
}
static ssize_t