[PATCH v3 0/3] ocfs2: give ocfs2 the ability to reclaim suballoc free bg

Heming Zhao posted 3 patches 2 months, 3 weeks ago
fs/ocfs2/dlmglue.c  |   3 +-
fs/ocfs2/inode.c    |   5 +-
fs/ocfs2/resize.c   |   4 +-
fs/ocfs2/suballoc.c | 332 +++++++++++++++++++++++++++++++++++++++++---
4 files changed, 318 insertions(+), 26 deletions(-)
[PATCH v3 0/3] ocfs2: give ocfs2 the ability to reclaim suballoc free bg
Posted by Heming Zhao 2 months, 3 weeks ago
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 (3):
  ocfs2: give ocfs2 the ability to reclaim suballoc free bg
  ocfs2: detect released suballocator bg for fh_to_[dentry|parent]
  ocfs2: adjust spinlock_t ip_lock protection scope

 fs/ocfs2/dlmglue.c  |   3 +-
 fs/ocfs2/inode.c    |   5 +-
 fs/ocfs2/resize.c   |   4 +-
 fs/ocfs2/suballoc.c | 332 +++++++++++++++++++++++++++++++++++++++++---
 4 files changed, 318 insertions(+), 26 deletions(-)

-- 
2.35.3