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@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(-)