diff options
| -rw-r--r-- | fs/btrfs/inode.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 0058fb3c256..0eeacd93e8e 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -7102,6 +7102,10 @@ static long btrfs_fallocate(struct inode *inode, int mode, | |||
| 7102 | btrfs_wait_ordered_range(inode, alloc_start, alloc_end - alloc_start); | 7102 | btrfs_wait_ordered_range(inode, alloc_start, alloc_end - alloc_start); |
| 7103 | 7103 | ||
| 7104 | mutex_lock(&inode->i_mutex); | 7104 | mutex_lock(&inode->i_mutex); |
| 7105 | ret = inode_newsize_ok(inode, alloc_end); | ||
| 7106 | if (ret) | ||
| 7107 | goto out; | ||
| 7108 | |||
| 7105 | if (alloc_start > inode->i_size) { | 7109 | if (alloc_start > inode->i_size) { |
| 7106 | ret = btrfs_cont_expand(inode, alloc_start); | 7110 | ret = btrfs_cont_expand(inode, alloc_start); |
| 7107 | if (ret) | 7111 | if (ret) |
