aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/inode.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 37cc1776a5d..0058fb3c256 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -7002,6 +7002,7 @@ static int __btrfs_prealloc_file_range(struct inode *inode, int mode,
7002 struct btrfs_root *root = BTRFS_I(inode)->root; 7002 struct btrfs_root *root = BTRFS_I(inode)->root;
7003 struct btrfs_key ins; 7003 struct btrfs_key ins;
7004 u64 cur_offset = start; 7004 u64 cur_offset = start;
7005 u64 i_size;
7005 int ret = 0; 7006 int ret = 0;
7006 bool own_trans = true; 7007 bool own_trans = true;
7007 7008
@@ -7043,11 +7044,11 @@ static int __btrfs_prealloc_file_range(struct inode *inode, int mode,
7043 (actual_len > inode->i_size) && 7044 (actual_len > inode->i_size) &&
7044 (cur_offset > inode->i_size)) { 7045 (cur_offset > inode->i_size)) {
7045 if (cur_offset > actual_len) 7046 if (cur_offset > actual_len)
7046 i_size_write(inode, actual_len); 7047 i_size = actual_len;
7047 else 7048 else
7048 i_size_write(inode, cur_offset); 7049 i_size = cur_offset;
7049 i_size_write(inode, cur_offset); 7050 i_size_write(inode, i_size);
7050 btrfs_ordered_update_i_size(inode, cur_offset, NULL); 7051 btrfs_ordered_update_i_size(inode, i_size, NULL);
7051 } 7052 }
7052 7053
7053 ret = btrfs_update_inode(trans, root, inode); 7054 ret = btrfs_update_inode(trans, root, inode);