Re: [PATCH 2/2] xfs: remove deprecated sysctl options

Darrick J. Wong
2020-09-24T17:27:48Z

On Thu, Sep 24, 2020 at 07:07:47PM +0200, Pavel Reichl wrote:
> These optionr were for Irix compatibility, probably for clustered XFS
> clients in a heterogenous cluster which contained both Irix & Linux
> machines, so that behavior would be consistent. That doesn't exist anymore
> and it's no longer needed.
>
> Signed-off-by: Pavel Reichl <preichl@redhat.com>
> ---
> Documentation/admin-guide/xfs.rst | 3 ++-
> fs/xfs/xfs_sysctl.c | 36 +++++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/xfs.rst b/Documentation/admin-guide/xfs.rst
> index 413f68efccc0..208e17810459 100644
> --- a/Documentation/admin-guide/xfs.rst
> +++ b/Documentation/admin-guide/xfs.rst
> @@ -333,7 +333,8 @@ The following sysctls are available for the XFS filesystem:
> Deprecated Sysctls
> ==================
>
> -None at present.
> +fs.xfs.irix_sgid_inherit
> +fs.xfs.irix_symlink_mode

When will these be removed from sysctl?

> Removed Sysctls
> diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
> index 021ef96d0542..fac9de7ee6d0 100644
> --- a/fs/xfs/xfs_sysctl.c
> +++ b/fs/xfs/xfs_sysctl.c
> @@ -50,13 +50,45 @@ xfs_panic_mask_proc_handler(
> }
> #endif /* CONFIG_PROC_FS */
>
> +STATIC int
> +xfs_deprecate_irix_sgid_inherit_proc_handler(
> + struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> +{
> + if (write) {
> + printk_once(KERN_WARNING
> + "XFS: " "%s sysctl option is deprecated.\n",
> + ctl->procname);
> + }
> + return proc_dointvec_minmax(ctl, write, buffer, lenp, ppos);
> +}
> +
> +STATIC int
> +xfs_deprecate_irix_symlink_mode_proc_handler(
> + struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> +{
> + if (write) {
> + printk_once(KERN_WARNING
> + "XFS: " "%s sysctl option is deprecated.\n",
> + ctl->procname);
> + }
> + return proc_dointvec_minmax(ctl, write, buffer, lenp, ppos);
> +}
> +
> static struct ctl_table xfs_table[] = {
> {
> .procname = "irix_sgid_inherit",
> .data = &xfs_params.sgid_inherit.val,

Same comments as the last patch regarding a sysctl that spits out
deprecation warnings but continues to actually change xfs' behavior...

--D

> .maxlen = sizeof(int),
> .mode = 0644,
> - .proc_handler = proc_dointvec_minmax,
> + .proc_handler = xfs_deprecate_irix_sgid_inherit_proc_handler,
> .extra1 = &xfs_params.sgid_inherit.min,
> .extra2 = &xfs_params.sgid_inherit.max
> },
> @@ -65,7 +97,7 @@ static struct ctl_table xfs_table[] = {
> .data = &xfs_params.symlink_mode.val,
> .maxlen = sizeof(int),
> .mode = 0644,
> - .proc_handler = proc_dointvec_minmax,
> + .proc_handler = xfs_deprecate_irix_symlink_mode_proc_handler,
> .extra1 = &xfs_params.symlink_mode.min,
> .extra2 = &xfs_params.symlink_mode.max
> },
> --
> 2.26.2
>