xfs: clean up xfs_mount allocation and dynamic initializers
authorBrian Foster <bfoster@redhat.com>
Sat, 24 Mar 2018 00:54:32 +0000 (17:54 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 26 Mar 2018 15:54:15 +0000 (08:54 -0700)
commit72c44e35f02a1cb4032e476c398a7234badcf49f
treedd99c46c9bbafdd6f381d8b72a8e9abfa9b63a52
parentfa4493f0d9b3ac8f36743f1a26e2318b449ee4c8
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>
fs/xfs/libxfs/xfs_sb.c
fs/xfs/xfs_mount.c
fs/xfs/xfs_super.c