diff options
Diffstat (limited to 'fs/block_dev.c')
| -rw-r--r-- | fs/block_dev.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c index 1e519195d45..38e721b35d4 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -1578,10 +1578,12 @@ ssize_t blkdev_aio_write(struct kiocb *iocb, const struct iovec *iov,  			 unsigned long nr_segs, loff_t pos)  {  	struct file *file = iocb->ki_filp; +	struct blk_plug plug;  	ssize_t ret;  	BUG_ON(iocb->ki_pos != pos); +	blk_start_plug(&plug);  	ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos);  	if (ret > 0 || ret == -EIOCBQUEUED) {  		ssize_t err; @@ -1590,6 +1592,7 @@ ssize_t blkdev_aio_write(struct kiocb *iocb, const struct iovec *iov,  		if (err < 0 && ret > 0)  			ret = err;  	} +	blk_finish_plug(&plug);  	return ret;  }  EXPORT_SYMBOL_GPL(blkdev_aio_write);  |