[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251121074030.12014-1-heming.zhao@suse.com>
Date: Fri, 21 Nov 2025 15:40:23 +0800
From: Heming Zhao <heming.zhao@...e.com>
To: joseph.qi@...ux.alibaba.com,
mark@...heh.com,
jlbec@...lplan.org
Cc: Heming Zhao <heming.zhao@...e.com>,
ocfs2-devel@...ts.linux.dev,
linux-kernel@...r.kernel.org,
glass.su@...e.com
Subject: [PATCH v4 0/2] ocfs2: give ocfs2 the ability to reclaim suballocator free bg
v4:
First of all, there is no code change in v4.
For patch [1/2]:
- Based on Joseph's v3 review comments:
1. Modify the caller to initialize the ocfs2_read_hint_group_descriptor()
input parameter '*released'.
2. Rename the _reclaim_to_main_bm() to _ocfs2_reclaim_suballoc_to_main()
3. Change the text "not empty rec" to "non empty rec"
- Revise the comments preceding the function _ocfs2_reclaim_suballoc_to_main().
- For the question: "How to distinguish the release case or a bug?"
I write a comment before ocfs2_read_hint_group_descriptor().
- Revise the commit log to make it clearer.
For patch [2/2]:
- Revise the commit log to make it clearer.
Remove the v3 patch: "ocfs2: adjust spinlock_t ip_lock protection scope"
- Reason: This patch belongs to a different topic/job and should be
handled separately.
v3:
For patch [1/3]:
- Factor out the reclaim code into a new function '_reclaim_to_main_bm'.
- The function ocfs2_read_hint_group_descriptor doesn't return -EIDRM
when the group descriptor is invalid. The new code logic returns 0,
and the input parameter '*released' is set to 1.
For patch [2/3]:
- Modify the code to follow the new logic of ocfs2_read_hint_group_descriptor
as introduced in patch [1/3].
For patch [3/3]:
- No new changes.
v3 patch has passed the xfstests:
./check -g quick -T -b -s ocfs2 -e generic/032 -e generic/076 \
-e generic/081 -e generic/266 -e generic/272 -e generic/281 \
-e generic/331 -e generic/338 -e generic/347 -e generic/361 \
-e generic/479 -e generic/480 -e generic/628 -e generic/629 \
-e generic/648 -e generic/650
v2:
Create 2 new patches:
- ocfs2: detect released suballocator bg for fh_to_[dentry|parent]
- ocfs2: adjust spinlock_t ip_lock protection scope
In ocfs2_read_hint_group_descriptor()
- bypass the validation of GD when the BH is already managed by jbd2.
In _ocfs2_free_suballoc_bits()
- Move up the position of the vars 'idx' & 'rec'.
- Move up the position of the ocfs2_journal_dirty.
- Use le[16|32]_to_cpu() to access cl/fe/rec vars.
- Add error handling for calling ocfs2_extend_trans().
- adjust spin_lock ->ip_lock protection scope.
- Follow Glass's review comments, add 'comment' & 'else-break' for the
'for-loop'.
v1:
Only create patch:
- ocfs2: give ocfs2 the ability to reclaim suballoc free bg
Heming Zhao (2):
ocfs2: give ocfs2 the ability to reclaim suballoc free bg
ocfs2: detect released suballocator BG for fh_to_[dentry|parent]
fs/ocfs2/suballoc.c | 336 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 317 insertions(+), 19 deletions(-)
--
2.43.0
Powered by blists - more mailing lists