linux-stable/fs/xfs/libxfs
Dave Chinner a1d86e8dec xfs: reflect sb features in xfs_mount
Currently on-disk feature checks require decoding the superblock
fileds and so can be non-trivial. We have almost 400 hundred
individual feature checks in the XFS code, so this is a significant
amount of code. To reduce runtime check overhead, pre-process all
the version flags into a features field in the xfs_mount at mount
time so we can convert all the feature checks to a simple flag
check.

There is also a need to convert the dynamic feature flags to update
the m_features field. This is required for attr, attr2 and quota
features. New xfs_mount based wrappers are added for this.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
2021-08-19 10:07:12 -07:00
..
xfs_ag.c xfs: check for sparse inode clusters that cross new EOAG when shrinking 2021-07-15 09:58:41 -07:00
xfs_ag.h xfs: clean up incore inode walk functions 2021-06-08 09:26:44 -07:00
xfs_ag_resv.c New code for 5.14: 2021-07-02 14:30:27 -07:00
xfs_ag_resv.h xfs: move perag structure and setup to libxfs/xfs_ag.[ch] 2021-06-02 10:48:24 +10:00
xfs_alloc.c xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_alloc.h xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_alloc_btree.c xfs: make the start pointer passed to btree update_lastrec functions const 2021-08-18 18:46:02 -07:00
xfs_alloc_btree.h xfs: convert allocbt cursors to use perags 2021-06-02 10:48:24 +10:00
xfs_attr.c xfs: rename xfs_has_attr() 2021-08-19 10:07:11 -07:00
xfs_attr.h xfs: rename xfs_has_attr() 2021-08-19 10:07:11 -07:00
xfs_attr_leaf.c xfs: replace kmem_alloc_large() with kvmalloc() 2021-08-09 15:57:43 -07:00
xfs_attr_leaf.h xfs: Make attr name schemes consistent 2021-06-09 09:34:05 -07:00
xfs_attr_remote.c xfs: Rename __xfs_attr_rmtval_remove 2021-08-11 09:12:45 -07:00
xfs_attr_remote.h xfs: Rename __xfs_attr_rmtval_remove 2021-08-11 09:12:45 -07:00
xfs_attr_sf.h xfs: Convert xfs_attr_sf macros to inline functions 2020-09-15 20:52:42 -07:00
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.c xfs: assorted fixes for 5.14, part 1 2021-06-08 09:22:34 -07:00
xfs_bmap.h xfs: mark xfs_bmap_set_attrforkoff static 2021-06-02 14:58:59 -07:00
xfs_bmap_btree.c xfs: make the start pointer passed to btree alloc_block functions const 2021-08-18 18:46:02 -07:00
xfs_bmap_btree.h xfs: mark the record passed into xchk_btree functions as const 2021-08-18 18:46:01 -07:00
xfs_btree.c xfs: constify btree function parameters that are not modified 2021-08-18 18:46:02 -07:00
xfs_btree.h xfs: constify btree function parameters that are not modified 2021-08-18 18:46:02 -07:00
xfs_btree_staging.c xfs: make the start pointer passed to btree alloc_block functions const 2021-08-18 18:46:02 -07:00
xfs_btree_staging.h xfs: xfs_btree_staging.h: delete duplicated words 2020-07-28 20:24:14 -07:00
xfs_cksum.h
xfs_da_btree.c xfs: Fix fall-through warnings for Clang 2021-05-26 14:51:26 -05:00
xfs_da_btree.h xfs: Refactor xfs_da_state_alloc() helper 2020-07-28 20:24:14 -07:00
xfs_da_format.h xfs: code cleanup in xfs_attr_leaf_entsize_{remote,local} 2020-09-25 11:34:08 -07:00
xfs_defer.c xfs: only relog deferred intent items if free space in the log gets low 2020-10-07 08:40:29 -07:00
xfs_defer.h xfs: fix an incore inode UAF in xfs_bui_recover 2020-10-07 08:40:28 -07:00
xfs_dir2.c xfs: move the di_size field to struct xfs_inode 2021-04-07 14:37:03 -07:00
xfs_dir2.h xfs: fix an ABBA deadlock in xfs_rename 2021-01-22 16:54:43 -08:00
xfs_dir2_block.c xfs: remove XFS_IFINLINE 2021-04-15 09:35:51 -07:00
xfs_dir2_data.c xfs: No need for inode number error injection in __xfs_dir3_data_check 2021-03-25 16:47:51 -07:00
xfs_dir2_leaf.c xfs: move the di_size field to struct xfs_inode 2021-04-07 14:37:03 -07:00
xfs_dir2_node.c xfs: move the di_size field to struct xfs_inode 2021-04-07 14:37:03 -07:00
xfs_dir2_priv.h xfs: reduce debug overhead of dir leaf/node checks 2021-03-25 16:47:51 -07:00
xfs_dir2_sf.c xfs: remove XFS_IFEXTENTS 2021-04-15 09:35:51 -07:00
xfs_dquot_buf.c xfs: widen ondisk quota expiration timestamps to handle y2038+ 2020-09-15 20:52:41 -07:00
xfs_errortag.h xfs: add error injection for per-AG resv failure 2021-03-25 16:47:53 -07:00
xfs_format.h xfs: reflect sb features in xfs_mount 2021-08-19 10:07:12 -07:00
xfs_fs.h xfs: restore old ioctl definitions 2021-05-20 08:31:22 -07:00
xfs_health.h xfs: Use the correct style for SPDX License Identifier 2020-05-13 15:32:45 -07:00
xfs_ialloc.c xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_ialloc.h xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_ialloc_btree.c xfs: make the start pointer passed to btree alloc_block functions const 2021-08-18 18:46:02 -07:00
xfs_ialloc_btree.h xfs: use perag for ialloc btree cursors 2021-06-02 10:48:24 +10:00
xfs_iext_tree.c xfs: prevent metadata files from being inactivated 2021-03-25 16:47:50 -07:00
xfs_inode_buf.c xfs: correct the narrative around misaligned rtinherit/extszinherit dirs 2021-07-15 09:58:42 -07:00
xfs_inode_buf.h xfs: move the di_crtime field to struct xfs_inode 2021-04-07 14:37:05 -07:00
xfs_inode_fork.c xfs: remove XFS_IFEXTENTS 2021-04-15 09:35:51 -07:00
xfs_inode_fork.h xfs: remove XFS_IFEXTENTS 2021-04-15 09:35:51 -07:00
xfs_log_format.h xfs: logging the on disk inode LSN can make it go backwards 2021-07-29 09:27:29 -07:00
xfs_log_recover.h xfs: refactor xfs_iget calls from log intent recovery 2021-08-09 15:57:59 -07:00
xfs_log_rlimit.c xfs: remove unused header files 2019-06-28 19:30:43 -07:00
xfs_quota_defs.h xfs: remove the active vs running quota differentiation 2021-08-06 11:05:37 -07:00
xfs_refcount.c xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_refcount.h xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_refcount_btree.c xfs: make the start pointer passed to btree alloc_block functions const 2021-08-18 18:46:02 -07:00
xfs_refcount_btree.h xfs: convert refcount btree cursor to use perags 2021-06-02 10:48:24 +10:00
xfs_rmap.c xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_rmap.h xfs: make the record pointer passed to query_range functions const 2021-08-18 18:46:01 -07:00
xfs_rmap_btree.c xfs: make the start pointer passed to btree alloc_block functions const 2021-08-18 18:46:02 -07:00
xfs_rmap_btree.h xfs: fix silly whitespace problems with kernel libxfs 2021-08-09 11:13:17 -07:00
xfs_rtbitmap.c xfs: make xfs_rtalloc_query_range input parameters const 2021-08-18 18:46:00 -07:00
xfs_sb.c xfs: reflect sb features in xfs_mount 2021-08-19 10:07:12 -07:00
xfs_sb.h xfs: reflect sb features in xfs_mount 2021-08-19 10:07:12 -07:00
xfs_shared.h xfs: sort variable alphabetically to avoid repeated declaration 2021-06-02 14:54:09 -07:00
xfs_symlink_remote.c xfs: move the fork format fields into struct xfs_ifork 2020-05-19 09:40:58 -07:00
xfs_trans_inode.c xfs: correct the narrative around misaligned rtinherit/extszinherit dirs 2021-07-15 09:58:42 -07:00
xfs_trans_resv.c xfs: remove support for disabling quota accounting on a mounted file system 2021-08-06 11:05:36 -07:00
xfs_trans_resv.h xfs: remove support for disabling quota accounting on a mounted file system 2021-08-06 11:05:36 -07:00
xfs_trans_space.h xfs: fix off-by-one in inode alloc block reservation calculation 2020-08-26 14:13:21 -07:00
xfs_types.c xfs: convert raw ag walks to use for_each_perag 2021-06-02 10:48:24 +10:00
xfs_types.h xfs: resolve fork names in trace output 2021-08-19 10:07:10 -07:00