Re: [PATCH] test_ida: Fix compilation errors

From: Matthew Wilcox
Date: Sun Nov 12 2023 - 10:31:39 EST


On Sun, Nov 12, 2023 at 03:08:40PM +0800, shiqiang.deng wrote:
> In lib/test_ida.c, we found that IDA_BUG_ON
> uses the ida_dump() function. When __ Kernel__ is not defined,
> a missing-prototypes error will occur during compilation.
> Fix it now.

I'm confused. What were you doing to get this error?

> Signed-off-by: shiqiang.deng <shiqiang.deng213@xxxxxxxxx>
> ---
> include/linux/idr.h | 4 ++++
> lib/idr.c | 2 +-
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/idr.h b/include/linux/idr.h
> index a0dce14090a9..e091efdc0cf7 100644
> --- a/include/linux/idr.h
> +++ b/include/linux/idr.h
> @@ -109,6 +109,10 @@ static inline void idr_set_cursor(struct idr *idr, unsigned int val)
> #define idr_unlock_irqrestore(idr, flags) \
> xa_unlock_irqrestore(&(idr)->idr_rt, flags)
>
> +#ifndef __KERNEL__
> +void ida_dump(struct ida *ida);
> +#endif
> +
> void idr_preload(gfp_t gfp_mask);
>
> int idr_alloc(struct idr *, void *ptr, int start, int end, gfp_t);
> diff --git a/lib/idr.c b/lib/idr.c
> index 13f2758c2377..66d0c6e30588 100644
> --- a/lib/idr.c
> +++ b/lib/idr.c
> @@ -589,7 +589,7 @@ static void ida_dump_entry(void *entry, unsigned long index)
> }
> }
>
> -static void ida_dump(struct ida *ida)
> +void ida_dump(struct ida *ida)
> {
> struct xarray *xa = &ida->xa;
> pr_debug("ida: %p node %p free %d\n", ida, xa->xa_head,
> --
> 2.30.0
>