Re: [PATCHSET v30.4 02/10] libxfs: sync with 6.9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 03, 2024 at 02:29:14PM +0200, Carlos Maiolino wrote:
> On Tue, May 21, 2024 at 07:45:53PM GMT, Darrick J. Wong wrote:
> > Hi all,
> > 
> > Synchronize libxfs with the kernel.
> > 
> > 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.
> 
> The sync looks good, thanks for doing that Darrick.
> 
> You can add:
> 
> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>

Thanks!  Final patch submission and pull requests imminent.

--D

> > 
> > xfsprogs git tree:
> > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=libxfs-sync-6.9
> > ---
> > Commits in this patchset:
> >  * xfs: convert kmem_zalloc() to kzalloc()
> >  * xfs: convert kmem_alloc() to kmalloc()
> >  * xfs: convert remaining kmem_free() to kfree()
> >  * xfs: use __GFP_NOLOCKDEP instead of GFP_NOFS
> >  * xfs: use GFP_KERNEL in pure transaction contexts
> >  * xfs: clean up remaining GFP_NOFS users
> >  * xfs: use xfs_defer_alloc a bit more
> >  * xfs: Replace xfs_isilocked with xfs_assert_ilocked
> >  * xfs: create a static name for the dot entry too
> >  * xfs: create a predicate to determine if two xfs_names are the same
> >  * xfs: create a macro for decoding ftypes in tracepoints
> >  * xfs: report the health of quota counts
> >  * xfs: implement live quotacheck inode scan
> >  * xfs: report health of inode link counts
> >  * xfs: teach scrub to check file nlinks
> >  * xfs: separate the marking of sick and checked metadata
> >  * xfs: report fs corruption errors to the health tracking system
> >  * xfs: report ag header corruption errors to the health tracking system
> >  * xfs: report block map corruption errors to the health tracking system
> >  * xfs: report btree block corruption errors to the health system
> >  * xfs: report dir/attr block corruption errors to the health system
> >  * xfs: report inode corruption errors to the health system
> >  * xfs: report realtime metadata corruption errors to the health system
> >  * xfs: report XFS_IS_CORRUPT errors to the health system
> >  * xfs: add secondary and indirect classes to the health tracking system
> >  * xfs: remember sick inodes that get inactivated
> >  * xfs: update health status if we get a clean bill of health
> >  * xfs: consolidate btree block freeing tracepoints
> >  * xfs: consolidate btree block allocation tracepoints
> >  * xfs: set the btree cursor bc_ops in xfs_btree_alloc_cursor
> >  * xfs: drop XFS_BTREE_CRC_BLOCKS
> >  * xfs: encode the btree geometry flags in the btree ops structure
> >  * xfs: remove bc_ino.flags
> >  * xfs: consolidate the xfs_alloc_lookup_* helpers
> >  * xfs: turn the allocbt cursor active field into a btree flag
> >  * xfs: extern some btree ops structures
> >  * xfs: initialize btree blocks using btree_ops structure
> >  * xfs: rename btree block/buffer init functions
> >  * xfs: btree convert xfs_btree_init_block to xfs_btree_init_buf calls
> >  * xfs: remove the unnecessary daddr paramter to _init_block
> >  * xfs: set btree block buffer ops in _init_buf
> >  * xfs: move lru refs to the btree ops structure
> >  * xfs: move the btree stats offset into struct btree_ops
> >  * xfs: factor out a xfs_btree_owner helper
> >  * xfs: factor out a btree block owner check
> >  * xfs: store the btree pointer length in struct xfs_btree_ops
> >  * xfs: split out a btree type from the btree ops geometry flags
> >  * xfs: split the per-btree union in struct xfs_btree_cur
> >  * xfs: create predicate to determine if cursor is at inode root level
> >  * 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 staging 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: split xfs_allocbt_init_cursor
> >  * xfs: remove xfs_inobt_cur
> >  * xfs: remove the btnum argument to xfs_inobt_count_blocks
> >  * 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
> >  * xfs: simplify xfs_btree_check_sblock_siblings
> >  * xfs: simplify xfs_btree_check_lblock_siblings
> >  * xfs: open code xfs_btree_check_lptr in xfs_bmap_btree_to_extents
> >  * xfs: consolidate btree ptr checking
> >  * xfs: misc cleanups for __xfs_btree_check_sblock
> >  * xfs: remove the crc variable in __xfs_btree_check_lblock
> >  * xfs: tighten up validation of root block in inode forks
> >  * xfs: consolidate btree block verification
> >  * xfs: rename btree helpers that depends on the block number representation
> >  * xfs: factor out a __xfs_btree_check_lblock_hdr helper
> >  * xfs: remove xfs_btree_reada_bufl
> >  * xfs: remove xfs_btree_reada_bufs
> >  * xfs: move and rename xfs_btree_read_bufl
> >  * libxfs: teach buftargs to maintain their own buffer hashtable
> >  * libxfs: add xfile support
> >  * libxfs: partition memfd files to avoid using too many fds
> >  * xfs: teach buftargs to maintain their own buffer hashtable
> >  * libxfs: support in-memory buffer cache targets
> >  * xfs: add a xfs_btree_ptrs_equal helper
> >  * xfs: support in-memory btrees
> >  * xfs: launder in-memory btree buffers before transaction commit
> >  * xfs: create a helper to decide if a file mapping targets the rt volume
> >  * xfs: repair the rmapbt
> >  * xfs: create a shadow rmap btree during rmap repair
> >  * xfs: hook live rmap operations during a repair operation
> >  * xfs: clean up bmap log intent item tracepoint callsites
> >  * xfs: move xfs_bmap_defer_add to xfs_bmap_item.c
> >  * xfs: fix xfs_bunmapi to allow unmapping of partial rt extents
> >  * xfs: add a realtime flag to the bmap update log redo items
> >  * xfs: support deferred bmap updates on the attr fork
> >  * xfs: xfs_bmap_finish_one should map unwritten extents properly
> >  * xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h
> >  * xfs: move remote symlink target read function to libxfs
> >  * xfs: move symlink target write function to libxfs
> >  * xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL
> >  * xfs: shrink failure needs to hold AGI buffer
> >  * xfs: allow sunit mount option to repair bad primary sb stripe values
> > ---
> >  copy/xfs_copy.c             |    4
> >  db/agf.c                    |   28 -
> >  db/bmap_inflate.c           |    8
> >  db/check.c                  |   14 -
> >  db/freesp.c                 |    8
> >  db/metadump.c               |   12
> >  include/kmem.h              |    5
> >  include/libxfs.h            |    4
> >  include/xfs_mount.h         |    5
> >  include/xfs_trace.h         |   17 -
> >  include/xfs_trans.h         |    1
> >  libxfs/Makefile             |    9
> >  libxfs/buf_mem.c            |  313 ++++++++++++
> >  libxfs/buf_mem.h            |   30 +
> >  libxfs/defer_item.c         |   15 +
> >  libxfs/defer_item.h         |   13 +
> >  libxfs/init.c               |   52 +-
> >  libxfs/libxfs_api_defs.h    |   10
> >  libxfs/libxfs_io.h          |   42 +-
> >  libxfs/libxfs_priv.h        |   19 -
> >  libxfs/logitem.c            |    2
> >  libxfs/rdwr.c               |   86 ++-
> >  libxfs/trans.c              |   40 ++
> >  libxfs/util.c               |   10
> >  libxfs/xfile.c              |  393 +++++++++++++++
> >  libxfs/xfile.h              |   34 +
> >  libxfs/xfs_ag.c             |   79 ++-
> >  libxfs/xfs_ag.h             |   18 -
> >  libxfs/xfs_alloc.c          |  258 ++++++----
> >  libxfs/xfs_alloc_btree.c    |  191 ++++---
> >  libxfs/xfs_alloc_btree.h    |   10
> >  libxfs/xfs_attr.c           |    5
> >  libxfs/xfs_attr_leaf.c      |   22 +
> >  libxfs/xfs_attr_remote.c    |   37 +
> >  libxfs/xfs_bmap.c           |  365 ++++++++++----
> >  libxfs/xfs_bmap.h           |   19 +
> >  libxfs/xfs_bmap_btree.c     |  152 ++----
> >  libxfs/xfs_bmap_btree.h     |    5
> >  libxfs/xfs_btree.c          | 1097 ++++++++++++++++++++++++++-----------------
> >  libxfs/xfs_btree.h          |  274 +++++------
> >  libxfs/xfs_btree_mem.c      |  346 ++++++++++++++
> >  libxfs/xfs_btree_mem.h      |   75 +++
> >  libxfs/xfs_btree_staging.c  |  133 +----
> >  libxfs/xfs_btree_staging.h  |   10
> >  libxfs/xfs_da_btree.c       |   59 ++
> >  libxfs/xfs_da_format.h      |   11
> >  libxfs/xfs_defer.c          |   25 -
> >  libxfs/xfs_dir2.c           |   59 +-
> >  libxfs/xfs_dir2.h           |   13 +
> >  libxfs/xfs_dir2_block.c     |    8
> >  libxfs/xfs_dir2_data.c      |    3
> >  libxfs/xfs_dir2_leaf.c      |    3
> >  libxfs/xfs_dir2_node.c      |    7
> >  libxfs/xfs_dir2_sf.c        |   16 -
> >  libxfs/xfs_format.h         |   21 -
> >  libxfs/xfs_fs.h             |    8
> >  libxfs/xfs_health.h         |   95 ++++
> >  libxfs/xfs_ialloc.c         |  232 ++++++---
> >  libxfs/xfs_ialloc_btree.c   |  173 +++----
> >  libxfs/xfs_ialloc_btree.h   |   11
> >  libxfs/xfs_iext_tree.c      |   26 +
> >  libxfs/xfs_inode_buf.c      |   12
> >  libxfs/xfs_inode_fork.c     |   49 +-
> >  libxfs/xfs_inode_fork.h     |    1
> >  libxfs/xfs_log_format.h     |    4
> >  libxfs/xfs_refcount.c       |   69 ++-
> >  libxfs/xfs_refcount_btree.c |   78 +--
> >  libxfs/xfs_refcount_btree.h |    2
> >  libxfs/xfs_rmap.c           |  284 +++++++++--
> >  libxfs/xfs_rmap.h           |   31 +
> >  libxfs/xfs_rmap_btree.c     |  240 +++++++--
> >  libxfs/xfs_rmap_btree.h     |    8
> >  libxfs/xfs_rtbitmap.c       |   11
> >  libxfs/xfs_sb.c             |   42 +-
> >  libxfs/xfs_sb.h             |    5
> >  libxfs/xfs_shared.h         |   67 ++-
> >  libxfs/xfs_symlink_remote.c |  155 ++++++
> >  libxfs/xfs_symlink_remote.h |   26 +
> >  libxfs/xfs_trans_inode.c    |    6
> >  libxfs/xfs_types.h          |   26 -
> >  logprint/log_misc.c         |    8
> >  logprint/log_print_all.c    |    8
> >  mkfs/xfs_mkfs.c             |    8
> >  repair/agbtree.c            |   28 +
> >  repair/bmap_repair.c        |    4
> >  repair/bulkload.c           |    2
> >  repair/phase5.c             |   28 +
> >  repair/phase6.c             |    4
> >  repair/prefetch.c           |   12
> >  repair/prefetch.h           |    1
> >  repair/progress.c           |   14 -
> >  repair/progress.h           |    2
> >  repair/scan.c               |   18 -
> >  repair/xfs_repair.c         |   47 +-
> >  94 files changed, 4425 insertions(+), 1915 deletions(-)
> >  create mode 100644 libxfs/buf_mem.c
> >  create mode 100644 libxfs/buf_mem.h
> >  create mode 100644 libxfs/defer_item.h
> >  create mode 100644 libxfs/xfile.c
> >  create mode 100644 libxfs/xfile.h
> >  create mode 100644 libxfs/xfs_btree_mem.c
> >  create mode 100644 libxfs/xfs_btree_mem.h
> >  create mode 100644 libxfs/xfs_symlink_remote.h
> > 
> > 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux