linux-next/fs/xfs/libxfs
Christoph Hellwig 8458c4944e xfs: add a helper to prevent bmap merges across rtgroup boundaries
Except for the rt superblock, realtime groups do not store any metadata
at the start (or end) of the group.  There is nothing to prevent the
bmap code from merging allocations from multiple groups into a single
bmap record.  Add a helper to check for this case.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
[djwong: massage the commit message after pulling this into rtgroups]
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
2024-11-05 13:38:40 -08:00
..
xfs_ag_resv.c xfs: factor out a generic xfs_group structure 2024-11-05 13:38:27 -08:00
xfs_ag_resv.h xfs: get rid of xfs_ag_resv_rmapbt_alloc 2024-07-04 14:36:13 +05:30
xfs_ag.c xfs: convert busy extent tracking to the generic group structure 2024-11-05 13:38:29 -08:00
xfs_ag.h xfs: convert busy extent tracking to the generic group structure 2024-11-05 13:38:29 -08:00
xfs_alloc_btree.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_alloc_btree.h xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_alloc.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_alloc.h xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_attr_leaf.c xfs: distinguish extra split from real ENOSPC from xfs_attr3_leaf_split 2024-10-07 08:00:11 +02:00
xfs_attr_leaf.h xfs: return bool from xfs_attr3_leaf_add 2024-10-07 08:00:11 +02:00
xfs_attr_remote.c xfs: minor cleanups of xfs_attr3_rmt_blocks 2024-05-02 07:48:37 -07:00
xfs_attr_remote.h xfs: create a helper to compute the blockcount of a max sized remote value 2024-05-02 07:48:36 -07:00
xfs_attr_sf.h xfs: pass the attr value to put_listent when possible 2024-04-23 07:47:00 -07:00
xfs_attr.c xfs: adjust xfs_bmap_add_attrfork for metadir 2024-11-05 13:38:32 -08:00
xfs_attr.h xfs: fix xfs_init_attr_trans not handling explicit operation codes 2024-05-27 15:55:52 +05:30
xfs_bit.c xfs: fix missing header includes 2019-11-07 13:00:53 -08:00
xfs_bit.h xfs: Use the correct style for SPDX License Identifier 2020-05-13 15:32:45 -07:00
xfs_bmap_btree.c xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_bmap_btree.h xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_bmap.c xfs: add a helper to prevent bmap merges across rtgroup boundaries 2024-11-05 13:38:40 -08:00
xfs_bmap.h xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_btree_mem.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_btree_mem.h xfs: launder in-memory btree buffers before transaction commit 2024-02-22 12:43:36 -08:00
xfs_btree_staging.c xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL 2024-02-28 14:04:30 +05:30
xfs_btree_staging.h xfs: don't override bc_ops for staging btrees 2024-02-22 12:37:35 -08:00
xfs_btree.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_btree.h xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_cksum.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xfs_da_btree.c xfs: distinguish extra split from real ENOSPC from xfs_attr3_leaf_split 2024-10-07 08:00:11 +02:00
xfs_da_btree.h xfs: create attr log item opcodes and formats for parent pointers 2024-04-23 07:46:57 -07:00
xfs_da_format.h xfs: turn XFS_ATTR3_RMT_BUF_SPACE into a function 2024-05-02 07:48:36 -07:00
xfs_defer.c xfs: Remove duplicate xfs_trans_priv.h header 2024-09-03 10:07:41 +05:30
xfs_defer.h xfs: Increase XFS_DEFER_OPS_NR_INODES to 5 2024-04-15 14:59:01 -07:00
xfs_dir2_block.c xfs: validate explicit directory block buffer owners 2024-04-15 14:58:52 -07:00
xfs_dir2_data.c xfs: don't walk off the end of a directory data block 2024-07-01 09:32:29 +05:30
xfs_dir2_leaf.c xfs: validate explicit directory free block owners 2024-04-15 14:58:52 -07:00
xfs_dir2_node.c xfs: validate explicit directory free block owners 2024-04-15 14:58:52 -07:00
xfs_dir2_priv.h xfs: don't walk off the end of a directory data block 2024-07-01 09:32:29 +05:30
xfs_dir2_sf.c xfs: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
xfs_dir2.c xfs: move dirent update hooks to xfs_dir2.c 2024-07-02 11:37:00 -07:00
xfs_dir2.h xfs: move dirent update hooks to xfs_dir2.c 2024-07-02 11:37:00 -07:00
xfs_dquot_buf.c xfs: remove the xfs_dqblk_t typedef 2021-10-14 09:19:33 -07:00
xfs_errortag.h xfs: add error injection to test file mapping exchange recovery 2024-04-15 14:54:19 -07:00
xfs_exchmaps.c xfs: refactor dir format helpers 2024-04-26 11:21:46 +05:30
xfs_exchmaps.h xfs: use atomic extent swapping to fix user file fork data 2024-04-15 14:58:53 -07:00
xfs_format.h xfs: define the format of rt groups 2024-11-05 13:38:39 -08:00
xfs_fs.h xfs: export realtime group geometry via XFS_FSOP_GEOM 2024-11-05 13:38:39 -08:00
xfs_group.c xfs: add group based bno conversion helpers 2024-11-05 13:38:29 -08:00
xfs_group.h xfs: add group based bno conversion helpers 2024-11-05 13:38:29 -08:00
xfs_health.h xfs: check metadata directory file path connectivity 2024-11-05 13:38:34 -08:00
xfs_ialloc_btree.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_ialloc_btree.h xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_ialloc.c xfs: disable the agi rotor for metadata inodes 2024-11-05 13:38:31 -08:00
xfs_ialloc.h xfs: pass the icreate args object to xfs_dialloc 2024-09-01 08:58:19 -07:00
xfs_iext_tree.c xfs: use __GFP_NOLOCKDEP instead of GFP_NOFS 2024-02-13 18:07:34 +05:30
xfs_inode_buf.c xfs: enforce metadata inode flag 2024-11-05 13:38:31 -08:00
xfs_inode_buf.h xfs: enforce metadata inode flag 2024-11-05 13:38:31 -08:00
xfs_inode_fork.c xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_inode_fork.h xfs: simplify iext overflow checking and upgrade 2024-05-03 11:20:06 +05:30
xfs_inode_util.c xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_inode_util.h xfs: hoist inode free function to libxfs 2024-07-02 11:36:59 -07:00
xfs_log_format.h xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_log_recover.h xfs: capture inode generation numbers in the ondisk exchmaps log item 2024-04-15 14:54:24 -07:00
xfs_log_rlimit.c xfs: drop compatibility minimum log size computations for reflink 2024-04-23 07:47:01 -07:00
xfs_metadir.c xfs: record health problems with the metadata directory 2024-11-05 13:38:33 -08:00
xfs_metadir.h xfs: read and write metadata inode directory tree 2024-11-05 13:38:31 -08:00
xfs_metafile.c xfs: read and write metadata inode directory tree 2024-11-05 13:38:31 -08:00
xfs_metafile.h xfs: read and write metadata inode directory tree 2024-11-05 13:38:31 -08:00
xfs_ondisk.h xfs: define the format of rt groups 2024-11-05 13:38:39 -08:00
xfs_parent.c xfs: add raw parent pointer apis to support repair 2024-04-23 07:47:04 -07:00
xfs_parent.h xfs: add raw parent pointer apis to support repair 2024-04-23 07:47:04 -07:00
xfs_quota_defs.h xfs: remove unused parameter in macro XFS_DQUOT_LOGRES 2024-07-29 09:29:31 +05:30
xfs_refcount_btree.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_refcount_btree.h xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_refcount.c xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_refcount.h xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_rmap_btree.c xfs: add a generic group pointer to the btree cursor 2024-11-05 13:38:29 -08:00
xfs_rmap_btree.h xfs: standardize the btree maxrecs function parameters 2024-09-01 08:58:20 -07:00
xfs_rmap.c xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_rmap.h xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_rtbitmap.c xfs: define the format of rt groups 2024-11-05 13:38:39 -08:00
xfs_rtbitmap.h xfs: make RT extent numbers relative to the rtgroup 2024-11-05 13:38:38 -08:00
xfs_rtgroup.c xfs: update realtime super every time we update the primary fs super 2024-11-05 13:38:39 -08:00
xfs_rtgroup.h xfs: update realtime super every time we update the primary fs super 2024-11-05 13:38:39 -08:00
xfs_sb.c xfs: export realtime group geometry via XFS_FSOP_GEOM 2024-11-05 13:38:39 -08:00
xfs_sb.h xfs: update realtime super every time we update the primary fs super 2024-11-05 13:38:39 -08:00
xfs_shared.h xfs: define the format of rt groups 2024-11-05 13:38:39 -08:00
xfs_symlink_remote.c xfs: pass the owner to xfs_symlink_write_target 2024-04-15 14:58:57 -07:00
xfs_symlink_remote.h xfs: pass the owner to xfs_symlink_write_target 2024-04-15 14:58:57 -07:00
xfs_trans_inode.c xfs: implement atime updates in xfs_trans_ichgtime 2024-07-02 11:36:56 -07:00
xfs_trans_resv.c xfs: refactor xfs_rtbitmap_blockcount 2024-11-05 13:38:38 -08:00
xfs_trans_resv.h xfs: rename xfs_*alloc*_log_count to _block_count 2022-04-28 10:25:59 -07:00
xfs_trans_space.c xfs: Add parent pointers to rename 2024-04-23 07:46:59 -07:00
xfs_trans_space.h xfs: Add parent pointers to rename 2024-04-23 07:46:59 -07:00
xfs_types.c xfs: check that rtblock extents do not break rtsupers or rtgroups 2024-11-05 13:38:39 -08:00
xfs_types.h xfs: create incore realtime group structures 2024-11-05 13:38:35 -08:00