aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/extents.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r--fs/ext4/extents.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index eb7be8f08e10..d0860f2d36d0 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -5245,13 +5245,14 @@ ext4_ext_shift_path_extents(struct ext4_ext_path *path, ext4_lblk_t shift,
5245 5245
5246 while (ex_start <= ex_last) { 5246 while (ex_start <= ex_last) {
5247 le32_add_cpu(&ex_start->ee_block, -shift); 5247 le32_add_cpu(&ex_start->ee_block, -shift);
5248 if (ex_start > 5248 /* Try to merge to the left. */
5249 EXT_FIRST_EXTENT(path[depth].p_hdr)) { 5249 if ((ex_start >
5250 if (ext4_ext_try_to_merge_right(inode, 5250 EXT_FIRST_EXTENT(path[depth].p_hdr)) &&
5251 path, ex_start - 1)) 5251 ext4_ext_try_to_merge_right(inode,
5252 ex_last--; 5252 path, ex_start - 1))
5253 } 5253 ex_last--;
5254 ex_start++; 5254 else
5255 ex_start++;
5255 } 5256 }
5256 err = ext4_ext_dirty(handle, inode, path + depth); 5257 err = ext4_ext_dirty(handle, inode, path + depth);
5257 if (err) 5258 if (err)