Re: [PATCH 40/55] xfs: make struct xfs_perag kernel only

Dave Chinner
2013-09-06T21:50:43Z

On Fri, Sep 06, 2013 at 01:06:21PM -0500, Mark Tinguely wrote:
> On 09/04/13 17:05, Dave Chinner wrote:
> >From: Dave Chinner<dchinner@redhat.com>
> >
> >The struct xfs_perag has many kernel-only definitions in it,
> >requiring a __KERNEL__ guard so userspace can use it to. Move it to
> >xfs_mount.h so that it it kernel-only, and let userspace redefine
> >it's own version of the structure containing only what it needs.
> >This gets rid of another __KERNEL__ check in the XFS header files.
> >
> >Signed-off-by: Dave Chinner<dchinner@redhat.com>
> >---
>
> Yeah, this is the end of the kernel / user sync part of the series.
> Thanks Dave.
>
> The major difference seem to come from this series user patch 31/55.
>
> Other differences between kernel/user header/sources are in:
> include major difference to TOT:
> struct xfs_perag is in xfs_ag.h user and xfs_mount.h in kernel.

It is in include/libxfs.h in userspace, as it is different to the
version that the kernel uses.

> some differences between
> xfs_alloc_btree.c xfs_bmap_btree.c

btree trace code is the difference here - that needs to be unified
but userspace has different infrastructure right now. Not important
right now.

> xfs_btree.c

readahead functions are missing. userspace defined readhead to a
nop, so not a high priority. It should be done, though.

> xfs_ialloc_btree.c

btree trace code again.

> xfs_inode_buf.c

Doesn't have the new log readahead verifier support, and doesn't do
the "no inode read on create" shortcut which we shouldn't do in
userspace, anyway. Minor differences, not immediately important.

Oh, uuid/platform_uuid thingy. Will need to clean that up, too, on
the next round of updates.

> xfs_rtalloc.c

Not yet split up.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com