diff options
-rw-r--r-- | fs/ext4/inode.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index c94780075b04..bff44b4a0783 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -3658,7 +3658,6 @@ static ssize_t ext4_direct_IO_write(struct kiocb *iocb, struct iov_iter *iter) | |||
3658 | { | 3658 | { |
3659 | struct file *file = iocb->ki_filp; | 3659 | struct file *file = iocb->ki_filp; |
3660 | struct inode *inode = file->f_mapping->host; | 3660 | struct inode *inode = file->f_mapping->host; |
3661 | struct ext4_inode_info *ei = EXT4_I(inode); | ||
3662 | ssize_t ret; | 3661 | ssize_t ret; |
3663 | loff_t offset = iocb->ki_pos; | 3662 | loff_t offset = iocb->ki_pos; |
3664 | size_t count = iov_iter_count(iter); | 3663 | size_t count = iov_iter_count(iter); |
@@ -3682,7 +3681,7 @@ static ssize_t ext4_direct_IO_write(struct kiocb *iocb, struct iov_iter *iter) | |||
3682 | goto out; | 3681 | goto out; |
3683 | } | 3682 | } |
3684 | orphan = 1; | 3683 | orphan = 1; |
3685 | ei->i_disksize = inode->i_size; | 3684 | ext4_update_i_disksize(inode, inode->i_size); |
3686 | ext4_journal_stop(handle); | 3685 | ext4_journal_stop(handle); |
3687 | } | 3686 | } |
3688 | 3687 | ||
@@ -3790,7 +3789,7 @@ static ssize_t ext4_direct_IO_write(struct kiocb *iocb, struct iov_iter *iter) | |||
3790 | if (ret > 0) { | 3789 | if (ret > 0) { |
3791 | loff_t end = offset + ret; | 3790 | loff_t end = offset + ret; |
3792 | if (end > inode->i_size) { | 3791 | if (end > inode->i_size) { |
3793 | ei->i_disksize = end; | 3792 | ext4_update_i_disksize(inode, end); |
3794 | i_size_write(inode, end); | 3793 | i_size_write(inode, end); |
3795 | /* | 3794 | /* |
3796 | * We're going to return a positive `ret' | 3795 | * We're going to return a positive `ret' |