[PATCH 4/4] erofs: unexport erofs_xattr_prefix()

Hongbo Li lihongbo22 at huawei.com
Tue Dec 30 13:56:00 AEDT 2025



On 2025/12/29 17:29, Gao Xiang wrote:
> It can be simply in xattr.c due to no external users.
> 

Reviewed-by: Hongbo Li <lihongbo22 at huawei.com>

Thanks,
Hongbo

> Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
> ---
>   fs/erofs/xattr.c | 27 +++++++++++++++++++++++++++
>   fs/erofs/xattr.h | 30 ------------------------------
>   2 files changed, 27 insertions(+), 30 deletions(-)
> 
> diff --git a/fs/erofs/xattr.c b/fs/erofs/xattr.c
> index 972941ecb71c..d25c1cc1940c 100644
> --- a/fs/erofs/xattr.c
> +++ b/fs/erofs/xattr.c
> @@ -25,6 +25,8 @@ struct erofs_xattr_iter {
>   	struct dentry *dentry;
>   };
>   
> +static const char *erofs_xattr_prefix(unsigned int idx, struct dentry *dentry);
> +
>   static int erofs_init_inode_xattrs(struct inode *inode)
>   {
>   	struct erofs_inode *const vi = EROFS_I(inode);
> @@ -462,6 +464,31 @@ const struct xattr_handler * const erofs_xattr_handlers[] = {
>   	NULL,
>   };
>   
> +static const char *erofs_xattr_prefix(unsigned int idx, struct dentry *dentry)
> +{
> +	const struct xattr_handler *handler = NULL;
> +
> +	static const struct xattr_handler * const xattr_handler_map[] = {
> +		[EROFS_XATTR_INDEX_USER] = &erofs_xattr_user_handler,
> +#ifdef CONFIG_EROFS_FS_POSIX_ACL
> +		[EROFS_XATTR_INDEX_POSIX_ACL_ACCESS] = &nop_posix_acl_access,
> +		[EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT] = &nop_posix_acl_default,
> +#endif
> +		[EROFS_XATTR_INDEX_TRUSTED] = &erofs_xattr_trusted_handler,
> +#ifdef CONFIG_EROFS_FS_SECURITY
> +		[EROFS_XATTR_INDEX_SECURITY] = &erofs_xattr_security_handler,
> +#endif
> +	};
> +
> +	if (idx && idx < ARRAY_SIZE(xattr_handler_map))
> +		handler = xattr_handler_map[idx];
> +
> +	if (!xattr_handler_can_list(handler, dentry))
> +		return NULL;
> +
> +	return xattr_prefix(handler);
> +}
> +
>   void erofs_xattr_prefixes_cleanup(struct super_block *sb)
>   {
>   	struct erofs_sb_info *sbi = EROFS_SB(sb);
> diff --git a/fs/erofs/xattr.h b/fs/erofs/xattr.h
> index ee1d8c310d97..36f2667afc2d 100644
> --- a/fs/erofs/xattr.h
> +++ b/fs/erofs/xattr.h
> @@ -11,36 +11,6 @@
>   #include <linux/xattr.h>
>   
>   #ifdef CONFIG_EROFS_FS_XATTR
> -extern const struct xattr_handler erofs_xattr_user_handler;
> -extern const struct xattr_handler erofs_xattr_trusted_handler;
> -extern const struct xattr_handler erofs_xattr_security_handler;
> -
> -static inline const char *erofs_xattr_prefix(unsigned int idx,
> -					     struct dentry *dentry)
> -{
> -	const struct xattr_handler *handler = NULL;
> -
> -	static const struct xattr_handler * const xattr_handler_map[] = {
> -		[EROFS_XATTR_INDEX_USER] = &erofs_xattr_user_handler,
> -#ifdef CONFIG_EROFS_FS_POSIX_ACL
> -		[EROFS_XATTR_INDEX_POSIX_ACL_ACCESS] = &nop_posix_acl_access,
> -		[EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT] = &nop_posix_acl_default,
> -#endif
> -		[EROFS_XATTR_INDEX_TRUSTED] = &erofs_xattr_trusted_handler,
> -#ifdef CONFIG_EROFS_FS_SECURITY
> -		[EROFS_XATTR_INDEX_SECURITY] = &erofs_xattr_security_handler,
> -#endif
> -	};
> -
> -	if (idx && idx < ARRAY_SIZE(xattr_handler_map))
> -		handler = xattr_handler_map[idx];
> -
> -	if (!xattr_handler_can_list(handler, dentry))
> -		return NULL;
> -
> -	return xattr_prefix(handler);
> -}
> -
>   extern const struct xattr_handler * const erofs_xattr_handlers[];
>   
>   int erofs_xattr_prefixes_init(struct super_block *sb);


More information about the Linux-erofs mailing list