ext4: remove plugging from ext4_file_write_iter()
do_blockdev_direct_IO() takes care of properly plugging direct IO so there's no need to plug again inside ext4_file_write_iter(). Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
4b0524aae0
commit
51e8137b82
|
@ -92,7 +92,6 @@ static ssize_t
|
||||||
ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
|
ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
|
||||||
{
|
{
|
||||||
struct inode *inode = file_inode(iocb->ki_filp);
|
struct inode *inode = file_inode(iocb->ki_filp);
|
||||||
struct blk_plug plug;
|
|
||||||
int o_direct = iocb->ki_flags & IOCB_DIRECT;
|
int o_direct = iocb->ki_flags & IOCB_DIRECT;
|
||||||
int unaligned_aio = 0;
|
int unaligned_aio = 0;
|
||||||
int overwrite = 0;
|
int overwrite = 0;
|
||||||
|
@ -133,7 +132,6 @@ ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
|
||||||
if (o_direct) {
|
if (o_direct) {
|
||||||
size_t length = iov_iter_count(from);
|
size_t length = iov_iter_count(from);
|
||||||
loff_t pos = iocb->ki_pos;
|
loff_t pos = iocb->ki_pos;
|
||||||
blk_start_plug(&plug);
|
|
||||||
|
|
||||||
/* check whether we do a DIO overwrite or not */
|
/* check whether we do a DIO overwrite or not */
|
||||||
if (ext4_should_dioread_nolock(inode) && !unaligned_aio &&
|
if (ext4_should_dioread_nolock(inode) && !unaligned_aio &&
|
||||||
|
@ -169,8 +167,6 @@ ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
|
||||||
|
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
ret = generic_write_sync(iocb, ret);
|
ret = generic_write_sync(iocb, ret);
|
||||||
if (o_direct)
|
|
||||||
blk_finish_plug(&plug);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue