Message ID | 20200924170747.65876-3-preichl@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | xfs: remove deprecated mount and sysctl options | expand |
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 >
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 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, .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 },
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(-)