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

From: Zizhi Wo
Date: Sun Aug 25 2024 - 23:15:13 EST


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@xxxxxxxxxx/
[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(-)

--
2.39.2