linux/fs/xfs/libxfs
Brian Foster 72c44e35f0 xfs: clean up xfs_mount allocation and dynamic initializers
Most of the generic data structures embedded in xfs_mount are
dynamically initialized immediately after mp is allocated. A few
fields are left out and initialized during the xfs_mountfs()
sequence, after mp has been attached to the superblock.

To clean this up and help prevent premature access of associated
fields, refactor xfs_mount allocation and all dependent init calls
into a new helper. This self-documents that all low level data
structures (i.e., locks, trees, etc.) should be initialized before
xfs_mount is attached to the superblock.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
2018-03-26 08:54:15 -07:00
..
xfs_ag_resv.c xfs: account only rmapbt-used blocks against rmapbt perag res 2018-03-11 20:27:57 -07:00
xfs_ag_resv.h xfs: account only rmapbt-used blocks against rmapbt perag res 2018-03-11 20:27:57 -07:00
xfs_alloc.c xfs: detect agfl count corruption and reset agfl 2018-03-23 18:05:06 -07:00
xfs_alloc.h xfs: convert XFS_AGFL_SIZE to a helper function 2018-03-11 20:27:56 -07:00
xfs_alloc_btree.c Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07:00
xfs_alloc_btree.h
xfs_attr.c xfs: cancel tx on xfs_defer_finish() error during xattr set/remove 2018-01-16 14:53:28 -08:00
xfs_attr_leaf.c Split buffer's b_fspriv field 2018-01-29 07:27:22 -08:00
xfs_attr_leaf.h xfs: create structure verifier function for shortform xattrs 2018-01-08 10:54:46 -08:00
xfs_attr_remote.c xfs: create a new buf_ops pointer to verify structure metadata 2018-01-08 10:54:47 -08:00
xfs_attr_remote.h
xfs_attr_sf.h xfs: remove double-underscore integer types 2017-06-19 14:11:33 -07:00
xfs_bit.c libxfs: Optimize the loop for xfs_bitmap_empty 2016-01-04 16:10:19 +11:00
xfs_bit.h xfs: remove double-underscore integer types 2017-06-19 14:11:33 -07:00
xfs_bmap.c xfs: refactor inode verifier error logging 2018-03-23 18:05:07 -07:00
xfs_bmap.h xfs: refactor bmap record validation 2018-03-23 18:05:07 -07:00
xfs_bmap_btree.c Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07:00
xfs_bmap_btree.h xfs: refactor bmap record validation 2018-03-23 18:05:07 -07:00
xfs_btree.c Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07:00
xfs_btree.h Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07: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 Split buffer's b_fspriv field 2018-01-29 07:27:22 -08:00
xfs_da_btree.h xfs: remove double-underscore integer types 2017-06-19 14:11:33 -07:00
xfs_da_format.c xfs: remove double-underscore integer types 2017-06-19 14:11:33 -07:00
xfs_da_format.h xfs: refactor the geometry structure filling function 2018-01-08 10:54:48 -08:00
xfs_defer.c xfs: add the ability to join a held buffer to a defer_ops 2017-12-14 09:17:35 -08:00
xfs_defer.h xfs: add the ability to join a held buffer to a defer_ops 2017-12-14 09:17:35 -08:00
xfs_dir2.c xfs: refactor the geometry structure filling function 2018-01-08 10:54:48 -08:00
xfs_dir2.h xfs: sanity-check the unused space before trying to use it 2018-03-23 18:05:07 -07:00
xfs_dir2_block.c xfs: sanity-check the unused space before trying to use it 2018-03-23 18:05:07 -07:00
xfs_dir2_data.c xfs: sanity-check the unused space before trying to use it 2018-03-23 18:05:07 -07:00
xfs_dir2_leaf.c xfs: sanity-check the unused space before trying to use it 2018-03-23 18:05:07 -07:00
xfs_dir2_node.c xfs: sanity-check the unused space before trying to use it 2018-03-23 18:05:07 -07:00
xfs_dir2_priv.h xfs: refactor short form directory structure verifier function 2018-01-08 10:54:46 -08:00
xfs_dir2_sf.c xfs: directory scrubber must walk through data block to offset 2018-01-17 21:00:46 -08:00
xfs_dquot_buf.c xfs: standardize quota verification function outputs 2018-01-08 10:54:47 -08:00
xfs_errortag.h xfs: move error injection tags into their own file 2017-11-01 15:03:16 -07:00
xfs_format.h xfs: convert XFS_AGFL_SIZE to a helper function 2018-03-11 20:27:56 -07:00
xfs_fs.h xfs: check sb_agblocks and sb_agblklog when validating superblock 2018-01-17 21:00:47 -08:00
xfs_ialloc.c Split buffer's b_fspriv field 2018-01-29 07:27:22 -08:00
xfs_ialloc.h xfs: add scrub cross-referencing helpers for the inode btrees 2018-01-17 21:00:44 -08:00
xfs_ialloc_btree.c Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07:00
xfs_ialloc_btree.h xfs: use per-AG reservations for the finobt 2017-01-25 07:49:35 -08:00
xfs_iext_tree.c xfs: move xfs_iext_insert tracepoint to report useful information 2017-12-14 09:20:11 -08:00
xfs_inode_buf.c xfs: remove dead inode version setting code 2018-03-23 18:05:09 -07:00
xfs_inode_buf.h xfs: move inode extent size hint validation to libxfs 2018-03-23 18:05:08 -07:00
xfs_inode_fork.c xfs: refactor inode verifier error logging 2018-03-23 18:05:07 -07:00
xfs_inode_fork.h xfs: provide a centralized method for verifying inline fork data 2018-01-08 10:54:47 -08:00
xfs_log_format.h xfs: fix type usage 2017-11-16 12:06:45 -08:00
xfs_log_recover.h xfs: remove double-underscore integer types 2017-06-19 14:11:33 -07:00
xfs_log_rlimit.c xfs: trace log reservations at mount time 2018-01-08 10:54:47 -08:00
xfs_quota_defs.h xfs: standardize quota verification function outputs 2018-01-08 10:54:47 -08:00
xfs_refcount.c xfs: add scrub cross-referencing helpers for the refcount btrees 2018-01-17 21:00:44 -08:00
xfs_refcount.h xfs: add scrub cross-referencing helpers for the refcount btrees 2018-01-17 21:00:44 -08:00
xfs_refcount_btree.c Cleanup old XFS_BTREE_* traces 2018-03-11 20:27:55 -07:00
xfs_refcount_btree.h xfs: use the actual AG length when reserving blocks 2017-01-03 18:39:33 -08:00
xfs_rmap.c xfs: add scrub cross-referencing helpers for the rmap btrees 2018-01-17 21:00:44 -08:00
xfs_rmap.h xfs: add scrub cross-referencing helpers for the rmap btrees 2018-01-17 21:00:44 -08:00
xfs_rmap_btree.c xfs: account only rmapbt-used blocks against rmapbt perag res 2018-03-11 20:27:57 -07:00
xfs_rmap_btree.h xfs: use the actual AG length when reserving blocks 2017-01-03 18:39:33 -08:00
xfs_rtbitmap.c xfs: cross-reference the realtime bitmap 2018-01-17 21:00:46 -08:00
xfs_sb.c xfs: clean up xfs_mount allocation and dynamic initializers 2018-03-26 08:54:15 -07:00
xfs_sb.h xfs: refactor the geometry structure filling function 2018-01-08 10:54:48 -08:00
xfs_shared.h xfs: trace log reservations at mount time 2018-01-08 10:54:47 -08:00
xfs_symlink_remote.c Split buffer's b_fspriv field 2018-01-29 07:27:22 -08:00
xfs_trans_resv.c xfs: eliminate duplicate icreate tx reservation functions 2018-01-08 10:41:38 -08:00
xfs_trans_resv.h xfs: increase log reservations for reflink 2016-10-05 16:26:29 -07:00
xfs_trans_space.h xfs: reserve enough blocks to handle btree splits when remapping 2017-05-03 13:21:40 -07:00
xfs_types.h xfs: move xfs_bmbt_irec and xfs_exntst_t to xfs_types.h 2017-11-06 11:53:41 -08:00