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

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

 



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>

> 
> 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