On Tue, May 06, 2014 at 01:43:28AM -0700, Christoph Hellwig wrote:
> Getting rid of the need for xfs_mount.h in xfs_ialloc.h xfs_da_format.h
> should be simple:
> - inline xfs_make_iptr into the only caller
> - move xfs_icluster_size_fsb to xfs_ialloc.c and just provide a
> prototype for it.
Yeah, those are easy.
> - the various conversion routines for the directory blocks really
> shouldn't be in xfs_da_format.h anyway as they don't define the
> format. Just have some other header that requires a version of
> xfs_mount included first.
Still has the same problem - the library code is dependent on an
externally defined struct xfs_mount. What needs to happen is the
directory code needs to define the structure that carries all the
precalculated geometry, and the struct mount use that structure to
store them. Then the directory code can use it's own structure
as the function argument, and the dependence on struct xfs_mount
goes away completely.