|
@@ -3708,6 +3708,11 @@ long ext4_fallocate(struct inode *inode, int mode, loff_t offset, loff_t len)
|
|
*/
|
|
*/
|
|
credits = ext4_chunk_trans_blocks(inode, max_blocks);
|
|
credits = ext4_chunk_trans_blocks(inode, max_blocks);
|
|
mutex_lock(&inode->i_mutex);
|
|
mutex_lock(&inode->i_mutex);
|
|
|
|
+ ret = inode_newsize_ok(inode, (len + offset));
|
|
|
|
+ if (ret) {
|
|
|
|
+ mutex_unlock(&inode->i_mutex);
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
retry:
|
|
retry:
|
|
while (ret >= 0 && ret < max_blocks) {
|
|
while (ret >= 0 && ret < max_blocks) {
|
|
block = block + ret;
|
|
block = block + ret;
|