diff options
Diffstat (limited to 'fs/ceph/file.c')
-rw-r--r-- | fs/ceph/file.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 3fdde0b283c9..29308a80d66f 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
@@ -1671,8 +1671,12 @@ static long ceph_fallocate(struct file *file, int mode, | |||
1671 | } | 1671 | } |
1672 | 1672 | ||
1673 | size = i_size_read(inode); | 1673 | size = i_size_read(inode); |
1674 | if (!(mode & FALLOC_FL_KEEP_SIZE)) | 1674 | if (!(mode & FALLOC_FL_KEEP_SIZE)) { |
1675 | endoff = offset + length; | 1675 | endoff = offset + length; |
1676 | ret = inode_newsize_ok(inode, endoff); | ||
1677 | if (ret) | ||
1678 | goto unlock; | ||
1679 | } | ||
1676 | 1680 | ||
1677 | if (fi->fmode & CEPH_FILE_MODE_LAZY) | 1681 | if (fi->fmode & CEPH_FILE_MODE_LAZY) |
1678 | want = CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO; | 1682 | want = CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO; |