Re: [PATCH 01/10] xfs: fix C++ compilation errors in xfs_fs.h

Dave Chinner
2024-08-29T01:29:25Z

On Tue, Aug 27, 2024 at 04:33:58PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Several people reported C++ compilation errors due to things that C
> compilers allow but C++ compilers do not. Fix both of these problems,
> and hope there aren't more of these brown paper bags in 2 months when we
> finally get these fixes through the process into a released xfsprogs.
>
> Reported-by: kernel@mattwhitlock.name
> Reported-by: sam@gentoo.org
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219203
> Fixes: 233f4e12bbb2c ("xfs: add parent pointer ioctls")
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/libxfs/xfs_fs.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>
> diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
> index c85c8077fac39..6a63634547ca9 100644
> --- a/fs/xfs/libxfs/xfs_fs.h
> +++ b/fs/xfs/libxfs/xfs_fs.h
> @@ -930,13 +930,13 @@ static inline struct xfs_getparents_rec *
> xfs_getparents_next_rec(struct xfs_getparents *gp,
> struct xfs_getparents_rec *gpr)
> {
> - void *next = ((void *)gpr + gpr->gpr_reclen);
> + void *next = ((char *)gpr + gpr->gpr_reclen);
> void *end = (void *)(uintptr_t)(gp->gp_buffer + gp->gp_bufsize);
>
> if (next >= end)
> return NULL;
>
> - return next;
> + return (struct xfs_getparents_rec *)next;
> }

Please move this code completely out of the xfs_fs.h header. It is
not part of the kernel UAPI, and we have always tried to keep code
out of public header files like this because it tends to cause
unexpected build problems for users and 3rd party applications....

-Dave.
--
Dave Chinner
david@fromorbit.com