From patchwork Sat May 14 06:03:05 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] ext4: ext4_ext_convert_to_initialized bug found in extended FSX testing X-Patchwork-Submitter: Allison Henderson X-Patchwork-Id: 95544 Message-Id: <4DCE1B19.9070503@linux.vnet.ibm.com> To: Ext4 Developers List , Yongqiang Yang , Mingming Cao , Theodore Tso Date: Fri, 13 May 2011 23:03:05 -0700 From: Allison Henderson List-Id: Hi all, After applying this patch, the fsx test has been able to run ok all day (about 12hrs). So I think it's safe to send it out now. Thx all! Allison Henderson Signed-off-by: Allison Henderson Reviewed-by: Mingming Cao --- :100644 100644 e363f21... 5f243da... M fs/ext4/extents.c 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 e363f21..5f243da 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, (EXT4_EXT_MAY_ZEROOUT & split_flag)) { /* case 3 */ zero_ex.ee_block = - cpu_to_le32(map->m_lblk + map->m_len); - zero_ex.ee_len = cpu_to_le16(allocated - map->m_len); + cpu_to_le32(map->m_lblk); + zero_ex.ee_len = cpu_to_le16(allocated); ext4_ext_store_pblock(&zero_ex, ext4_ext_pblock(ex) + map->m_lblk - ee_block); err = ext4_ext_zeroout(inode, &zero_ex); @@ -2842,10 +2842,9 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, goto out; } - allocated = map->m_lblk - ee_block + map->m_len; - split_map.m_lblk = ee_block; - split_map.m_len = allocated; + split_map.m_len = map->m_lblk - ee_block + map->m_len; + allocated = map->m_len; } }