Re: [PATCH] quota: check for register_sysctl() failure when has CONFIG_SYSCTL

From: Jan Kara
Date: Wed Mar 22 2023 - 05:16:05 EST


On Tue 21-03-23 01:40:58, Yangtao Li wrote:
> Print a message that sysctl registration failed if CONFIG_SYSCTL
> is enabled, and wrap the fs_dqstats_table array with CONFIG_SYSCTL.
>
> Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>

Thanks! I've added the patch to my tree.

Honza

> ---
> fs/quota/dquot.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
> index 90cb70c82012..a16ddda02612 100644
> --- a/fs/quota/dquot.c
> +++ b/fs/quota/dquot.c
> @@ -2879,6 +2879,7 @@ static int do_proc_dqstats(struct ctl_table *table, int write,
> return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
> }
>
> +#ifdef CONFIG_SYSCTL
> static struct ctl_table fs_dqstats_table[] = {
> {
> .procname = "lookups",
> @@ -2947,6 +2948,7 @@ static struct ctl_table fs_dqstats_table[] = {
> #endif
> { },
> };
> +#endif
>
> static int __init dquot_init(void)
> {
> @@ -2955,7 +2957,10 @@ static int __init dquot_init(void)
>
> printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__);
>
> - register_sysctl("fs/quota", fs_dqstats_table);
> +#ifdef CONFIG_SYSCTL
> + if (!register_sysctl("fs/quota", fs_dqstats_table))
> + pr_notice("quota sysctl registration failed!\n");
> +#endif
>
> dquot_cachep = kmem_cache_create("dquot",
> sizeof(struct dquot), sizeof(unsigned long) * 4,
> --
> 2.35.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR