diff options
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/extents.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index e363f21b091b..5f243da8ff1d 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -2818,8 +2818,8 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, | |||
2818 | (EXT4_EXT_MAY_ZEROOUT & split_flag)) { | 2818 | (EXT4_EXT_MAY_ZEROOUT & split_flag)) { |
2819 | /* case 3 */ | 2819 | /* case 3 */ |
2820 | zero_ex.ee_block = | 2820 | zero_ex.ee_block = |
2821 | cpu_to_le32(map->m_lblk + map->m_len); | 2821 | cpu_to_le32(map->m_lblk); |
2822 | zero_ex.ee_len = cpu_to_le16(allocated - map->m_len); | 2822 | zero_ex.ee_len = cpu_to_le16(allocated); |
2823 | ext4_ext_store_pblock(&zero_ex, | 2823 | ext4_ext_store_pblock(&zero_ex, |
2824 | ext4_ext_pblock(ex) + map->m_lblk - ee_block); | 2824 | ext4_ext_pblock(ex) + map->m_lblk - ee_block); |
2825 | err = ext4_ext_zeroout(inode, &zero_ex); | 2825 | err = ext4_ext_zeroout(inode, &zero_ex); |
@@ -2842,10 +2842,9 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, | |||
2842 | goto out; | 2842 | goto out; |
2843 | } | 2843 | } |
2844 | 2844 | ||
2845 | allocated = map->m_lblk - ee_block + map->m_len; | ||
2846 | |||
2847 | split_map.m_lblk = ee_block; | 2845 | split_map.m_lblk = ee_block; |
2848 | split_map.m_len = allocated; | 2846 | split_map.m_len = map->m_lblk - ee_block + map->m_len; |
2847 | allocated = map->m_len; | ||
2849 | } | 2848 | } |
2850 | } | 2849 | } |
2851 | 2850 | ||