mbox series

[0/2] Some boundary error bugfix related to XFS fsmap.

Message ID 20240826031005.2493150-1-wozizhi@huawei.com (mailing list archive)
Headers show
Series Some boundary error bugfix related to XFS fsmap. | expand

Message

Zizhi Wo Aug. 26, 2024, 3:10 a.m. UTC
Prior to this, I had already sent out a patchset related to xfs fsmap
bugfix, which mainly introduced "info->end_daddr" to fix omitted extents[1]
and Darrick had already sent out a patchbomb for merging into stable[2],
which included my previous patches.

However, I recently discovered two new fsmap problems...What follows is a
brief description of them:

Patch 1: In this scenario, fsmap lost one block count. The root cause is
that during the calculation of highkey, the calculation of start_block is
missing an increment by one, which leads to the last query missing one
This problem is resolved by adding a sentinel node.

Patch 2: In this scenario, the fsmap query for realtime deivce may display
extra intervals. This is due to an extra increase in "end_rtb". The issue
is resolved by adjusting the relevant calculations. And this patch depends
on the previous patch that introduced "info->end_daddr".

[1] https://lore.kernel.org/all/20240819005320.304211-1-wozizhi@huawei.com/
[2] https://lore.kernel.org/all/172437083728.56860.10056307551249098606.stgit@frogsfrogsfrogs/ 

Zizhi Wo (2):
  xfs: Fix missing block calculations in xfs datadev fsmap
  xfs: Fix incorrect parameter calculation in rt fsmap

 fs/xfs/libxfs/xfs_rtbitmap.c |  4 +---
 fs/xfs/xfs_fsmap.c           | 39 +++++++++++++++++++++++++++++++-----
 2 files changed, 35 insertions(+), 8 deletions(-)

Comments

Zizhi Wo Aug. 29, 2024, 11:24 a.m. UTC | #1
friendly ping

在 2024/8/26 11:10, Zizhi Wo 写道:
> Prior to this, I had already sent out a patchset related to xfs fsmap
> bugfix, which mainly introduced "info->end_daddr" to fix omitted extents[1]
> and Darrick had already sent out a patchbomb for merging into stable[2],
> which included my previous patches.
> 
> However, I recently discovered two new fsmap problems...What follows is a
> brief description of them:
> 
> Patch 1: In this scenario, fsmap lost one block count. The root cause is
> that during the calculation of highkey, the calculation of start_block is
> missing an increment by one, which leads to the last query missing one
> This problem is resolved by adding a sentinel node.
> 
> Patch 2: In this scenario, the fsmap query for realtime deivce may display
> extra intervals. This is due to an extra increase in "end_rtb". The issue
> is resolved by adjusting the relevant calculations. And this patch depends
> on the previous patch that introduced "info->end_daddr".
> 
> [1] https://lore.kernel.org/all/20240819005320.304211-1-wozizhi@huawei.com/
> [2] https://lore.kernel.org/all/172437083728.56860.10056307551249098606.stgit@frogsfrogsfrogs/
> 
> Zizhi Wo (2):
>    xfs: Fix missing block calculations in xfs datadev fsmap
>    xfs: Fix incorrect parameter calculation in rt fsmap
> 
>   fs/xfs/libxfs/xfs_rtbitmap.c |  4 +---
>   fs/xfs/xfs_fsmap.c           | 39 +++++++++++++++++++++++++++++++-----
>   2 files changed, 35 insertions(+), 8 deletions(-)
>
Darrick J. Wong Sept. 2, 2024, 7:08 p.m. UTC | #2
On Thu, Aug 29, 2024 at 07:24:55PM +0800, Zizhi Wo wrote:
> friendly ping

Sorry, I'm not going to get to this until late September.

--D

> 在 2024/8/26 11:10, Zizhi Wo 写道:
> > Prior to this, I had already sent out a patchset related to xfs fsmap
> > bugfix, which mainly introduced "info->end_daddr" to fix omitted extents[1]
> > and Darrick had already sent out a patchbomb for merging into stable[2],
> > which included my previous patches.
> > 
> > However, I recently discovered two new fsmap problems...What follows is a
> > brief description of them:
> > 
> > Patch 1: In this scenario, fsmap lost one block count. The root cause is
> > that during the calculation of highkey, the calculation of start_block is
> > missing an increment by one, which leads to the last query missing one
> > This problem is resolved by adding a sentinel node.
> > 
> > Patch 2: In this scenario, the fsmap query for realtime deivce may display
> > extra intervals. This is due to an extra increase in "end_rtb". The issue
> > is resolved by adjusting the relevant calculations. And this patch depends
> > on the previous patch that introduced "info->end_daddr".
> > 
> > [1] https://lore.kernel.org/all/20240819005320.304211-1-wozizhi@huawei.com/
> > [2] https://lore.kernel.org/all/172437083728.56860.10056307551249098606.stgit@frogsfrogsfrogs/
> > 
> > Zizhi Wo (2):
> >    xfs: Fix missing block calculations in xfs datadev fsmap
> >    xfs: Fix incorrect parameter calculation in rt fsmap
> > 
> >   fs/xfs/libxfs/xfs_rtbitmap.c |  4 +---
> >   fs/xfs/xfs_fsmap.c           | 39 +++++++++++++++++++++++++++++++-----
> >   2 files changed, 35 insertions(+), 8 deletions(-)
> > 
>
Zizhi Wo Sept. 3, 2024, 9:18 a.m. UTC | #3
在 2024/9/3 3:08, Darrick J. Wong 写道:
> On Thu, Aug 29, 2024 at 07:24:55PM +0800, Zizhi Wo wrote:
>> friendly ping
> 
> Sorry, I'm not going to get to this until late September.
> 
> --D

OK, I've got it. Have a nice holiday
Zizhi Wo Oct. 9, 2024, 1:01 p.m. UTC | #4
Hi!

Here are two patches that address fsmap statistics errors. I sent out
this version in August, and I hope someone can take some time to review
them. So friendly ping. Thanks in advance!


在 2024/9/3 3:08, Darrick J. Wong 写道:
> On Thu, Aug 29, 2024 at 07:24:55PM +0800, Zizhi Wo wrote:
>> friendly ping
> 
> Sorry, I'm not going to get to this until late September.
> 
> --D
> 
>> 在 2024/8/26 11:10, Zizhi Wo 写道:
>>> Prior to this, I had already sent out a patchset related to xfs fsmap
>>> bugfix, which mainly introduced "info->end_daddr" to fix omitted extents[1]
>>> and Darrick had already sent out a patchbomb for merging into stable[2],
>>> which included my previous patches.
>>>
>>> However, I recently discovered two new fsmap problems...What follows is a
>>> brief description of them:
>>>
>>> Patch 1: In this scenario, fsmap lost one block count. The root cause is
>>> that during the calculation of highkey, the calculation of start_block is
>>> missing an increment by one, which leads to the last query missing one
>>> This problem is resolved by adding a sentinel node.
>>>
>>> Patch 2: In this scenario, the fsmap query for realtime deivce may display
>>> extra intervals. This is due to an extra increase in "end_rtb". The issue
>>> is resolved by adjusting the relevant calculations. And this patch depends
>>> on the previous patch that introduced "info->end_daddr".
>>>
>>> [1] https://lore.kernel.org/all/20240819005320.304211-1-wozizhi@huawei.com/
>>> [2] https://lore.kernel.org/all/172437083728.56860.10056307551249098606.stgit@frogsfrogsfrogs/
>>>
>>> Zizhi Wo (2):
>>>     xfs: Fix missing block calculations in xfs datadev fsmap
>>>     xfs: Fix incorrect parameter calculation in rt fsmap
>>>
>>>    fs/xfs/libxfs/xfs_rtbitmap.c |  4 +---
>>>    fs/xfs/xfs_fsmap.c           | 39 +++++++++++++++++++++++++++++++-----
>>>    2 files changed, 35 insertions(+), 8 deletions(-)
>>>
>>
>