aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/mballoc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 1900ec7a1579..b189cb4ff20f 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -4902,6 +4902,8 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range)
4902 4902
4903 if (unlikely(minlen > EXT4_BLOCKS_PER_GROUP(sb))) 4903 if (unlikely(minlen > EXT4_BLOCKS_PER_GROUP(sb)))
4904 return -EINVAL; 4904 return -EINVAL;
4905 if (start + len <= first_data_blk)
4906 goto out;
4905 if (start < first_data_blk) { 4907 if (start < first_data_blk) {
4906 len -= first_data_blk - start; 4908 len -= first_data_blk - start;
4907 start = first_data_blk; 4909 start = first_data_blk;
@@ -4950,5 +4952,6 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range)
4950 } 4952 }
4951 range->len = trimmed * sb->s_blocksize; 4953 range->len = trimmed * sb->s_blocksize;
4952 4954
4955out:
4953 return ret; 4956 return ret;
4954} 4957}