ext4: ext4_ext_convert_to_initialized bug found in extended FSX testing
PATCH v3 1/1 ext4: ext4_ext_convert_to_initialized bug found in extended FSX testing
v1 -> v2
- Extent is now zeroed starting from map.m_len
- Return value changed to return the number of
blocks split out
v2 -> v3
- Corrected patch description
This patch addresses bugs found while testing punch hole with the fsx test. The patch corrects the number of blocks that are zeroed out while splitting an extent, and also corrects the return value to return the number of blocks split out, instead of the number of blocks zeroed out.
This patch has been tested in addition to the following patches:
[Ext4 punch hole v7]
[XFS Tests Punch Hole 1/1 v2] Add Punch Hole Testing to FSX
The test ran successfully for 24 hours.
---
:100644 100644 e363f21... 5f243da... M fs/ext4/extents.c
fs/ext4/extents.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
fs/ext4/extents.c +2 -3
@@ -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;
Ted Ts'o
maintainerI've added this to the ext4 patch queue (dev branch). Many thanks for all of your work testing the punch series, and finding other bugs while you were at it!
I'm about to start merging the punch patches into the dev branch.
Just one tiny request for the future:
Quoted 7 lines · Allison Henderson
v1 -> v2
- Extent is now zeroed starting from map.m_len
- Return value changed to return the number of
blocks split outv2 -> v3
- Corrected patch description
I really appreciate the fact that you write great commit descriptions and keep a version history of your patches; it helps me out a lot. If you could move the version history to after the "---" and before the diff stats (or actual patch if there are no diff stats), that would make my life a just a tiny bit easier.
Awesome work, and thanks again!
- Ted