public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v29.2 2/8] xfs: remove bc_btnum from btree cursors
@ 2024-02-01 19:39 Darrick J. Wong
  2024-02-01 19:45 ` [PATCH 01/27] xfs: move comment about two 2 keys per pointer in the rmap btree Darrick J. Wong
                   ` (26 more replies)
  0 siblings, 27 replies; 30+ messages in thread
From: Darrick J. Wong @ 2024-02-01 19:39 UTC (permalink / raw)
  To: djwong; +Cc: Christoph Hellwig, hch, linux-xfs

Hi all,

From Christoph Hellwig,

This series continues the migration of btree geometry information out of
the cursor structure and into the ops structure.  This time around, we
replace the btree type enumeration (btnum) with an explicit name string
in the btree ops structure.  This enables easy creation of /any/ new
btree type without having to mess with libxfs.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=btree-remove-btnum

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=btree-remove-btnum
---
Commits in this patchset:
 * xfs: move comment about two 2 keys per pointer in the rmap btree
 * xfs: add a xfs_btree_init_ptr_from_cur
 * xfs: don't override bc_ops for staging btrees
 * xfs: fold xfs_allocbt_init_common into xfs_allocbt_init_cursor
 * xfs: remove xfs_allocbt_stage_cursor
 * xfs: fold xfs_inobt_init_common into xfs_inobt_init_cursor
 * xfs: remove xfs_inobt_stage_cursor
 * xfs: fold xfs_refcountbt_init_common into xfs_refcountbt_init_cursor
 * xfs: remove xfs_refcountbt_stage_cursor
 * xfs: fold xfs_rmapbt_init_common into xfs_rmapbt_init_cursor
 * xfs: remove xfs_rmapbt_stage_cursor
 * xfs: make full use of xfs_btree_stage_ifakeroot in xfs_bmbt_stage_cursor
 * xfs: make fake file forks explicit
 * xfs: fold xfs_bmbt_init_common into xfs_bmbt_init_cursor
 * xfs: remove xfs_bmbt_stage_cursor
 * xfs: split the agf_roots and agf_levels arrays
 * xfs: add a name field to struct xfs_btree_ops
 * xfs: add a sick_mask to struct xfs_btree_ops
 * xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init
 * xfs: split xfs_allocbt_init_cursor
 * xfs: remove xfs_inobt_cur
 * xfs: remove the btnum argument to xfs_inobt_count_blocks
 * xfs: remove the which variable in xchk_iallocbt
 * xfs: split xfs_inobt_insert_sprec
 * xfs: split xfs_inobt_init_cursor
 * xfs: pass a 'bool is_finobt' to xfs_inobt_insert
 * xfs: remove xfs_btnum_t
---
 fs/xfs/libxfs/xfs_ag.c             |   13 +--
 fs/xfs/libxfs/xfs_ag.h             |    8 +-
 fs/xfs/libxfs/xfs_alloc.c          |   99 +++++++++-----------
 fs/xfs/libxfs/xfs_alloc_btree.c    |  156 +++++++++++++++++--------------
 fs/xfs/libxfs/xfs_alloc_btree.h    |   10 +-
 fs/xfs/libxfs/xfs_bmap_btree.c     |   89 ++++++------------
 fs/xfs/libxfs/xfs_bmap_btree.h     |    2 
 fs/xfs/libxfs/xfs_btree.c          |  114 ++++++++++++++++++-----
 fs/xfs/libxfs/xfs_btree.h          |   18 +---
 fs/xfs/libxfs/xfs_btree_staging.c  |  111 +---------------------
 fs/xfs/libxfs/xfs_btree_staging.h  |    7 +
 fs/xfs/libxfs/xfs_format.h         |   21 ++--
 fs/xfs/libxfs/xfs_ialloc.c         |  181 ++++++++++++++++++++++--------------
 fs/xfs/libxfs/xfs_ialloc_btree.c   |  144 +++++++++++++----------------
 fs/xfs/libxfs/xfs_ialloc_btree.h   |   11 +-
 fs/xfs/libxfs/xfs_refcount_btree.c |   52 +++-------
 fs/xfs/libxfs/xfs_refcount_btree.h |    2 
 fs/xfs/libxfs/xfs_rmap_btree.c     |   65 +++++--------
 fs/xfs/libxfs/xfs_rmap_btree.h     |    2 
 fs/xfs/libxfs/xfs_shared.h         |   35 +++++++
 fs/xfs/libxfs/xfs_types.h          |   26 +----
 fs/xfs/scrub/agheader.c            |   12 +-
 fs/xfs/scrub/agheader_repair.c     |   47 +++------
 fs/xfs/scrub/alloc_repair.c        |   27 +++--
 fs/xfs/scrub/bmap_repair.c         |    8 +-
 fs/xfs/scrub/btree.c               |   12 +-
 fs/xfs/scrub/common.c              |   72 ++++++++------
 fs/xfs/scrub/health.c              |   54 ++---------
 fs/xfs/scrub/health.h              |    4 -
 fs/xfs/scrub/ialloc.c              |   20 +---
 fs/xfs/scrub/ialloc_repair.c       |    8 +-
 fs/xfs/scrub/iscan.c               |    2 
 fs/xfs/scrub/refcount_repair.c     |    4 -
 fs/xfs/scrub/repair.c              |   14 +--
 fs/xfs/scrub/rmap.c                |   15 +--
 fs/xfs/scrub/trace.h               |   48 ++++------
 fs/xfs/xfs_discard.c               |    2 
 fs/xfs/xfs_fsmap.c                 |    4 -
 fs/xfs/xfs_health.c                |   36 ++-----
 fs/xfs/xfs_iwalk.c                 |    8 +-
 fs/xfs/xfs_trace.h                 |   89 ++++++++----------
 41 files changed, 748 insertions(+), 904 deletions(-)


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2024-02-02 16:37 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-01 19:39 [PATCHSET v29.2 2/8] xfs: remove bc_btnum from btree cursors Darrick J. Wong
2024-02-01 19:45 ` [PATCH 01/27] xfs: move comment about two 2 keys per pointer in the rmap btree Darrick J. Wong
2024-02-01 19:46 ` [PATCH 02/27] xfs: add a xfs_btree_init_ptr_from_cur Darrick J. Wong
2024-02-01 19:46 ` [PATCH 03/27] xfs: don't override bc_ops for staging btrees Darrick J. Wong
2024-02-01 19:46 ` [PATCH 04/27] xfs: fold xfs_allocbt_init_common into xfs_allocbt_init_cursor Darrick J. Wong
2024-02-01 19:46 ` [PATCH 05/27] xfs: remove xfs_allocbt_stage_cursor Darrick J. Wong
2024-02-01 19:47 ` [PATCH 06/27] xfs: fold xfs_inobt_init_common into xfs_inobt_init_cursor Darrick J. Wong
2024-02-01 19:47 ` [PATCH 07/27] xfs: remove xfs_inobt_stage_cursor Darrick J. Wong
2024-02-01 19:47 ` [PATCH 08/27] xfs: fold xfs_refcountbt_init_common into xfs_refcountbt_init_cursor Darrick J. Wong
2024-02-01 19:48 ` [PATCH 09/27] xfs: remove xfs_refcountbt_stage_cursor Darrick J. Wong
2024-02-01 19:48 ` [PATCH 10/27] xfs: fold xfs_rmapbt_init_common into xfs_rmapbt_init_cursor Darrick J. Wong
2024-02-01 19:48 ` [PATCH 11/27] xfs: remove xfs_rmapbt_stage_cursor Darrick J. Wong
2024-02-01 19:48 ` [PATCH 12/27] xfs: make full use of xfs_btree_stage_ifakeroot in xfs_bmbt_stage_cursor Darrick J. Wong
2024-02-01 19:49 ` [PATCH 13/27] xfs: make fake file forks explicit Darrick J. Wong
2024-02-02  6:25   ` Christoph Hellwig
2024-02-02 16:37     ` Darrick J. Wong
2024-02-01 19:49 ` [PATCH 14/27] xfs: fold xfs_bmbt_init_common into xfs_bmbt_init_cursor Darrick J. Wong
2024-02-01 19:49 ` [PATCH 15/27] xfs: remove xfs_bmbt_stage_cursor Darrick J. Wong
2024-02-01 19:49 ` [PATCH 16/27] xfs: split the agf_roots and agf_levels arrays Darrick J. Wong
2024-02-01 19:50 ` [PATCH 17/27] xfs: add a name field to struct xfs_btree_ops Darrick J. Wong
2024-02-01 19:50 ` [PATCH 18/27] xfs: add a sick_mask " Darrick J. Wong
2024-02-01 19:50 ` [PATCH 19/27] xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init Darrick J. Wong
2024-02-01 19:50 ` [PATCH 20/27] xfs: split xfs_allocbt_init_cursor Darrick J. Wong
2024-02-01 19:51 ` [PATCH 21/27] xfs: remove xfs_inobt_cur Darrick J. Wong
2024-02-01 19:51 ` [PATCH 22/27] xfs: remove the btnum argument to xfs_inobt_count_blocks Darrick J. Wong
2024-02-01 19:51 ` [PATCH 23/27] xfs: remove the which variable in xchk_iallocbt Darrick J. Wong
2024-02-01 19:51 ` [PATCH 24/27] xfs: split xfs_inobt_insert_sprec Darrick J. Wong
2024-02-01 19:52 ` [PATCH 25/27] xfs: split xfs_inobt_init_cursor Darrick J. Wong
2024-02-01 19:52 ` [PATCH 26/27] xfs: pass a 'bool is_finobt' to xfs_inobt_insert Darrick J. Wong
2024-02-01 19:52 ` [PATCH 27/27] xfs: remove xfs_btnum_t Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox